Tomcat 5.5.35 下發生的錯誤:
代碼:
<html:option value="<%= hmpElement.get("value") %>"> </html:option>
錯誤:
org.apache.jasper.JasperException: /jsp/demo.jsp(25,14) Attribute value hmpElement.get("value") is quoted with " which must be escaped when used within the value
中文:引號內不能在使用引號。
原則上是這樣的,但是我們這種寫法完全正確。這可能是Tomcat的一個bug。
此問題是由於tomcat5.5.28及以上版本升級引起。
1. 可以修改代碼如下:
<jsp:include page="fastpost.jsp"> <jsp:param name="returl" value='<%=Url.encode(“***”) %>' /> </jsp:include>
2. 可以在catalina.sh中加入(tomcat 壓縮版使用):
JAVA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"
3. 或者可以在Tomcat的Java Options中加入(TOMCAT安裝版使用):
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false