博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JasperException: is quoted with " which must be escaped when used within the value
阅读量:5167 次
发布时间:2019-06-13

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

今天做了个JSP的Web程序,在自己机器上测试能够正常运行。可是,当我部署到另外一台机器上的时候,JSP中的表达式就出现了问题

异常信息如下:

org.apache.jasper.JasperException: /jsp/machine/machine_edit.jsp(33,20) Attribute value method.equals("add") is quoted with " which must be escaped when used within the value org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88) org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:256) org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:205) org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:148) org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1208) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1422) org.apache.jasper.compiler.Parser.parse(Parser.java:130) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

开发的机器和部署的机器上都用的是Tomcat作为Web应用服务器,虽然是解压版的,理论上来说都应该没有问题的

在网上查了下,有帖子说这个问题和JDK的版本有关,我本机的是JDK1.6.0_07,而另一台机器上的JDK1.6.0_25,然后我把另一台机器的JDK卸载之后重新安装JDK1.6.0_07之后再进行测试,结果问题依旧存在。

于是,继续再网上寻找答案

一个技术交流群的群友说使用JSP表达式的时候,可能对单引号和双引号的使用有限制,于是我就把类似于如下的代码:

value="<%=str.equals("Hello")%>"

都改成了

value="<%=str.equals(\"Hello\")%>"

这样修改之后,可能在Eclipse或者MyEclipse提示JSP错误,这个不要紧,JSP会被Web应用服务器重新编译的。也有帖子说把最外层的双引号修改成单引号就ok了,我在部署的机器上测试也是不行的。

修改完之后,再重新测试,问题果断解决了。至于问题的本质,我认为还是和JDK、Tomcat的配置有关系,而不是仅仅JDK的版本有关,要不然在开发的机器和部署的机器上也不会出现这么大的差异。 

转载于:https://www.cnblogs.com/wenlong/archive/2012/04/16/6188476.html

你可能感兴趣的文章
求出斐波那契数组
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
CodeIgniter学习笔记(四)——CI超级对象中的load装载器
查看>>
.NET CLR基本术语
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>
Python-常用模块及简单的案列
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>
基本算法概论
查看>>
jquery动态移除/增加onclick属性详解
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
Java中的日期和时间
查看>>
Django基于admin的stark组件创建(一)
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>