which must be escaped when used within the value 问题解决

简介: which must be escaped when used within the value 问题解决

视频课堂:https://edu.csdn.net/course/play/8222

访问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文档有一段话这样描述的“Iffalsethe 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 oftruewill 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 即可。


方法 3:使用转义字符("\")


1<jsp:include page="split_page.jsp">

2    <jsp:param name="jspUrl" value="<%=jspUrl%>" />

3    <jsp:param name="category" value="<%=equest.getParameter(\"category\")%>" />

4    <jsp:param name="searchFlag" value="T" />

5</jsp:include>


目录
相关文章
|
Cloud Native Go Windows
Windows 11 电脑如何设置自动开机 (Windows 11 2022H2)
Windows 11 电脑如何设置自动开机 (Windows 11 2022H2)
3947 0
|
IDE 开发工具 git
如何使用Git命令提交项目代码
如何使用Git命令提交项目代码
3871 0
如何使用Git命令提交项目代码
|
8月前
|
存储 关系型数据库 MySQL
【赵渝强老师】使用select...into outfile语句备份MySQL
本文介绍了MySQL中使用`SELECT...INTO OUTFILE`语句将表数据导出为文本文件的方法。通过示例演示了如何备份员工表(emp)的数据,包括创建存储目录、设置权限、配置参数`secure_file_priv`以及解决相关错误的过程。字段分隔符和行终止符可自定义,确保数据格式符合需求。最后展示了备份文件的内容,验证操作成功。
572 36
|
6月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
1269 20
|
Java Shell Linux
使用 sh -x 进行 shell 脚本调试
使用 sh -x 进行 shell 脚本调试
397 9
使用 sh -x 进行 shell 脚本调试
|
Rust Ubuntu Linux
在Ubuntu中为ROG笔记本安装驱动asusctl
在Ubuntu中为ROG笔记本安装驱动asusctl
3099 0
在Ubuntu中为ROG笔记本安装驱动asusctl
|
JavaScript 应用服务中间件 Apache
获取客户端的IP地址
获取客户端的IP地址
|
存储 消息中间件 监控
|
存储 消息中间件 算法
24【数据结构与算法】数据结构知识点总结
数据结构是计算机科学中的一个重要主题,它涉及到如何组织和存储数据,以便于在计算机程序中进行访问和操作。以下是一些常见的数据结构及其用途:
686 0

热门文章

最新文章