Status: Resolved (View Workflow)
Affects Version/s: 4.0.3.002
This behavior affects the information returned by getMetaData() on a CFC.
In ACF, I can use the following line in a tag-based CFC and the value of the "inject" attribute is parsed as ""
<cfproperty name="ConstantService" inject scope="variables"/>
In Railo, the of the value inject attribute is parsed as "true" and I have to switch to this syntax:
<cfproperty name="ConstantService" inject="model:ConstantService" scope="variables"/>
In case you're curious, the extra attributes are being used by the WireBox DI/ioc engine. On Railo, the code errors since inject is defaulting to a value of "true" and that confuses WireBox since it thinks you are passing in a DSL of "true" for the mapping it needs to inject.
The biggest issue is that it is not possible to differentiate between when the programmer specified no value for an attribute versus when "true" was actually passed.
And to recap some of the discussion on the forum thread:
Apparently some tags with boolean attributes allow you simply specify the attribute with no value since "true" is assumed. Ex:
<cfdump abort var=#whatever# />
It would be important in this case that the default of "true" for the "abort" attribute be provided by the cfdump tag, not the parser.