Tomcat - 解决which must be escaped when used within the value错误
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 |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步