Bug 7737

Summary: EL evaluator incorrectly attempts to evaluated string values containing '$'
Product: Taglibs Reporter: Ryan Lubke <Ryan.Lubke>
Component: Standard TaglibAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: major    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   

Description Ryan Lubke 2002-04-03 23:26:47 UTC
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)
Comment 1 Nathan Abramson 2002-04-04 14:11:07 UTC
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.