UNDERTOW-1319 added the ability to use a partial scriptlet expression in attributes. But there are two reasons to revert this:
- The spec only allows full expression scriptlet attributes in JSP tags. So an attribute like attribute="/path/to/<%= ... %>" should not be interpreted. In the chapter Request Time Attribute Values says:
When using scriptlet expressions, the expression must appear by itself (multiple expressions, and mixing of expressions and string constants are not permitted).
- The fix for
UNDERTOW-1319is incomplete and triggers new issues that are not present in previous versions. For example if the attribute mixes EL and scriptlet expressions an exception can be thrown. For example to the tag:
This generates a compilation error: Syntax error, insert ")" to complete MethodInvocation.
UNDERTOW-1319 is not covered by the jakarta specification and allowing such mixed scenarios is not as easy as it seemed. Why not more than one expressions scriptlet? Why not mixing EL and scriplet expressions? The complete feature is very complicated and that probably was the reason to only allow full attribute expression scriptlets in the spec.
Better revert the PR for
UNDERTOW-1319 and be fully spec complaint.