Bug 33356 - Incorrect parsing of tag attributes
Summary: Incorrect parsing of tag attributes
Status: RESOLVED FIXED
Alias: None
Product: Tomcat 5
Classification: Unclassified
Component: Jasper (show other bugs)
Version: 5.0.28
Hardware: PC Windows XP
: P2 major with 1 vote (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-02 14:55 UTC by ian
Modified: 2006-09-09 20:50 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ian 2005-02-02 14:55:18 UTC
I get a org.apache.jasper.JasperException: with the error: "The function string 
must be used with a prefix when a default namespace is not specified" when 
trying to compile the following within a JSP page:

<foo:set var="bar" value="this $ is a { silly string ("/>

"foo" is our own tablib, it seems that Jasper seems to think that the string 
provided to the value attribute contains some JSP/EL which it does not.

If I change the page to be:

<c:set var="bar" value="this $ is a { silly string ("/>

Then I do not get this error. However I need to use my own taglib.
In the foo.tld file, the "value" attribute of "set" has rtexprvalue=true.
If I set this to false then the problem goes away. However I noticed that c.tld 
in standard.jar also has rtexprvalue=true for the "value" attribute of "set". 
Why the difference in behaviour ? We also wish to have rtexprvalue=true.
Comment 1 Lars Marius Garshol 2005-04-27 13:01:13 UTC
This bug is becoming a problem for us, since our query language uses "{" to 
express OR, and identifiers of the form foo:bar occur quite often. Users really 
have to go through some ugly workarounds to deal with this problem, and since 
the bug is in Jasper we can't do much to help them.
Comment 2 Yoav Shapira 2005-09-01 20:46:03 UTC
Is this still in issue in Tomcat 5.5?
Comment 3 Mark Thomas 2006-09-10 03:50:36 UTC
This has been fixed in svn and will be included in 5.5.20 onwards