You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Sean Dockery <sd...@securac.net> on 2004/11/18 01:09:25 UTC

Custom tag attribute runtime expression containing and delimited by quotes. Supported in Tomcat, but not other JSP containers. What is the standard?

Hello,

We recently came upon an issue in migrating our web application from Tomcat 
4.1.x to SAP Web AS 6.4 SP7.

Here is an example of the offending code (which involves indexed beans 
managed by a Struts ActionForm):

<logic:iterate ... indexId="offset">
    Name: <html:text property="<%= "people[" + offset + "].name" %>"/>
</logic:iterate>

The quotes embedded in the property attribute's runtime expression work 
fine under Tomcat, but failed under SAP Web AS during JSP translation.  The 
Web AS JSP compiler sees the quote before the word people as the closing 
delimiter for the property attribute value.

We found that the following variations work in both Tomcat and SAP Web AS.

<html:text property='<%= "people[" + offset + "].name" %>'/>
(using apostrophes instead of quotes to delimit the attribute values)

<html:text property="<%= \"people[\" + offset + \"].name\" %>"/>
(escaping the embedded quotes)

The former solution seems to be sanctioned (according to Google, anyway). 
The latter solution (though looking to be pure evil) seems to solve a 
situation where you would have both quotes and apostrophes in the same 
attribute value.

Is there anything in the (current or previous) JSP specification dealing 
with quotes embedded in runtime expressions?  (It is an unfortunately happy 
coincidence that Jasper supports embedded quotes; anyone else enjoying this 
behaviour should be aware that it may not be supported by other 
containers.)

Thanks for your precious time.




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: Custom tag attribute runtime expression containing and delimited by quotes. Supported in Tomcat, but not other JSP containers. What is the standard?

Posted by Sean Dockery <sd...@securac.net>.
Hmmm...  We found in section JSP 2.6 (page 41) in the Core Syntax and 
Semantics chapter of the JSP 1.2 specification that this...

<mytags:tag value="<%= "hi!" %>" />

...is expressly illegal.

Should this be considered to be a bug in Jasper?

"Sean Dockery" <sd...@securac.net> wrote in message 
news:cngp7l$6c2$1@sea.gmane.org...
> Hello,
>
> We recently came upon an issue in migrating our web application from 
> Tomcat 4.1.x to SAP Web AS 6.4 SP7.
>
> Here is an example of the offending code (which involves indexed beans 
> managed by a Struts ActionForm):
>
> <logic:iterate ... indexId="offset">
>    Name: <html:text property="<%= "people[" + offset + "].name" %>"/>
> </logic:iterate>
>
> The quotes embedded in the property attribute's runtime expression work 
> fine under Tomcat, but failed under SAP Web AS during JSP translation. 
> The Web AS JSP compiler sees the quote before the word people as the 
> closing delimiter for the property attribute value.
>
> We found that the following variations work in both Tomcat and SAP Web 
> AS.
>
> <html:text property='<%= "people[" + offset + "].name" %>'/>
> (using apostrophes instead of quotes to delimit the attribute values)
>
> <html:text property="<%= \"people[\" + offset + \"].name\" %>"/>
> (escaping the embedded quotes)
>
> The former solution seems to be sanctioned (according to Google, anyway). 
> The latter solution (though looking to be pure evil) seems to solve a 
> situation where you would have both quotes and apostrophes in the same 
> attribute value.
>
> Is there anything in the (current or previous) JSP specification dealing 
> with quotes embedded in runtime expressions?  (It is an unfortunately 
> happy coincidence that Jasper supports embedded quotes; anyone else 
> enjoying this behaviour should be aware that it may not be supported by 
> other containers.)
>
> Thanks for your precious time. 




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org