Is there any good reason to disallow scriptlet or EL expression to be inserted as attribute value?
Let's say we have tag:
<tag>
<name>mytag</name>
<tag-class>org.apache.beehive.netui.tags.tree.Tree</tag-class>
<attribute>
<name>attr</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
<type>boolean</type>
</attribute>
</tag>
What could be a good reason for dissallowing the below?
<my:mytag attr="${setting}" />
I'd say it is mostly a backwards-compatibility measure, just like the ability to turn off EL completely for a given JSP.
Maybe the tag library existed before EL, and uses the special syntax ${} for its own purposes. Maybe the attribute value frequently takes values that include a literal ${}.
Without such a setting, existing code (in the tag library or the JSP) would need to be modified in order to still work after upgrading to the latest version of the Servlet spec.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With