Given: <fmt:formatNumber value="12345" currencySymbol="$"/> -or- <c:set var="test" value="test$"/> Resulting exception: An error occurred while evaluating custom action attribute "value" with value "@$": Lexical error at line 1, column 3. Encountered: after : "" at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:206) at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:143) at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:364) at org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:109) at org.apache.taglibs.standard.tag.el.core.SetTag.doEndTag(SetTag.java:117)
The problem should only be showing up in attribute values that end with "$". This has been fixed by adding a lone "$" to the "NON_EXPRESSION_TEXT" token.