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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]