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

  

 

posted @   一度君ヾ華  阅读(8856)  评论(2编辑  收藏  举报
编辑推荐:
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
阅读排行:
· 想让你多爱自己一些的开源计时器
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 大模型 Token 究竟是啥:图解大模型Token
· 如何在 .NET 中 使用 ANTLR4
· 用99元买的服务器搭一套CI/CD系统
点击右上角即可分享
微信分享提示