博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
org.apache.jasper.jasperException
阅读量:7077 次
发布时间:2019-06-28

本文共 1071 字,大约阅读时间需要 3 分钟。

hot3.png

访问JSP时,报错:Attribute value is quoted with " which must be escaped when used within the value 。相信很多人都遇到过,以下结合本人查资料与亲自实践得到的结论。

有不对的地方还请指教。

 

1):错误常发生的位置 value="<%=""+request.getAttribute("name")%> 

2):错误产生的原因,是因为tomcat版本升级后(6.0以后),对双引号的处理机制引起的,如果出现双引号包含双引号的情况,就可能会出现这个错误。

3):解决办法有好多种,大多数网上的意见是改为value=<%=""+request.getAttribute("name")%>’  这样确实可以解决这个报错,可能无法完全解决问题,比如项目中有很多地方以前都用的是双引号,修改起来会非常麻烦,还容易出错。

         查看tomact文档有一段话这样描述的“If false the requirements for escaping quotes in JSP attributes will be relaxed so that an unescaped quote will not cause an error.

If not specified, the specification compliant default of true will be used.”    这个描述针对的是tomact的org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING属性。

       如此一来,我们知道只要在tomcat启动时将这个属性设为false就可以解决这个问题。

       那么怎么将这个属性设置到tomcat的system属性中呢,有至少两个办法:

      一种是利用tomcat启动的执行脚本,在执行过程中调用setenv.sh,在其中设置环境变量,如:JAVA_OPTS=%JAVA_OPTS%: -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false

     另一种是找到conf/catalina.properties文件,在最后添加org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 即可。

 

转载于:https://my.oschina.net/u/2395098/blog/616887

你可能感兴趣的文章
selenium打开chrome时,出现 "您使用的是不受支持的命令行标记:--ignore-certificate-errors""...
查看>>
Python 一行代码完成局域网文件共享
查看>>
load-on-startup
查看>>
netstat如何查看某端口是否被占用?
查看>>
Hive日期函数笔记
查看>>
随机选择实现
查看>>
多播、组播、广播优缺点分析
查看>>
为什么要创建开放源码的PlayScala社区?
查看>>
push 和pop的区别
查看>>
iOS App 上架流程图文教程
查看>>
接口和实现分离的好处
查看>>
敏捷并不是一件好的事情
查看>>
js获取客户端本地ip
查看>>
JQuery事件之取消默认行为
查看>>
redis 学习笔记(未完)
查看>>
线程组
查看>>
dell c6220安装系统--166
查看>>
python 字典多种方法删除 keys
查看>>
VIM使用系列:位置跳转和块模式
查看>>
数组资源
查看>>