严重: Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: /index.jsp(43,38) Attribute value request.getAttribute("lineSize")  is quoted with " which must be escaped when used within the value

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)

at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)

at org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:299)

at org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:249)

at org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:211)

at org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:154)

at org.apache.jasper.compiler.Parser.parseParam(Parser.java:845)

at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1678)

at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1020)

at org.apache.jasper.compiler.Parser.parseInclude(Parser.java:872)

at org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1134)

at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1461)

at org.apache.jasper.compiler.Parser.parse(Parser.java:137)

at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)

at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)

at com.miyao.web.PersonServlet.doGet(PersonServlet.java:86)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

at java.lang.Thread.run(Unknown Source)

2010-1-6 20:08:39 org.apache.catalina.core.StandardWrapperValve invoke

严重: Servlet.service() for servlet PersonServlet threw exception

org.apache.jasper.JasperException: /index.jsp(43,38) Attribute value request.getAttribute("lineSize")  is quoted with " which must be escaped when used within the value

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)

at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)

at org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:299)

at org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:249)

at org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:211)

at org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:154)

at org.apache.jasper.compiler.Parser.parseParam(Parser.java:845)

at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1678)

at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1020)

at org.apache.jasper.compiler.Parser.parseInclude(Parser.java:872)

at org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1134)

at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1461)

at org.apache.jasper.compiler.Parser.parse(Parser.java:137)

at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)

at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)

at com.miyao.web.PersonServlet.doGet(PersonServlet.java:86)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

at java.lang.Thread.run(Unknown Source)

大家会清楚的看到:/index.jsp(43,38) Attribute value request.getAttribute("lineSize")  is quoted with " which must be escaped when used within the value.这句话,很清楚的说明了错误发生在哪里!

于是,我们会顺着错误提示杀到代码中去检查(index.jsp),找到相应的行后,一看,发现没有错误呀,我的代码很正确呀,没有写错代码,也没有少了符号,而且""号也是正确的呀.大家可以看一下,以下就是提示错误的代码:

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

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

43   <jsp:param name="lineSize" value="<%=request.getAttribute("lineSize") %>"/>

44   <jsp:param name="allRecorders" value="<%=request.getAttribute("allRecorders") %>"/>

45   <jsp:param name="keyWord" value="<%=request.getAttribute("keyWord") %>"/>

46   <jsp:param name="currentPage" value="<%=request.getAttribute("currentPage") %>"/>

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

48   </jsp:include>

看到了吗?是的,就是这一段动态包含的代码.就像我说的,大家也看见了,43行,照常规,我们没有看出任何错误之处,对比一下其它行也都很相似.

所以,这下就把我急坏了,改了好久还是不行...最后,就想到了百老师和谷老师,就把错误信息一贴,发现已经有此问题的解决了,我打开了几个看了一下,上面基本都和我遇到的问题一样...这下就让我大开眼界了...上面说是,只要把出错位置的value=""改成value='',就不会有错了,但上面都没有说明到底是为什么?我也没管,就照上面的改一下试试...改了以后,一运行,还是出错了...但大家别急,错误的行号变了,变成了44行...也就是43行已经没有错了.是的,44行的value还不有改,我就又改了...再一运行,又出错了,而且错误的行号又变了,是的,没错,变成了45行,这下就让我觉得有意思了...我再改了45行后,我遇见性的想到如果不改46行可能还会出错,但我没有急着改,因为我想证明一下自己的想法...一运行,果然如此,45行正确了,46行出错了,哈哈.就这样,改了最后一个46行,再运行,一切正常了!!!!

大家看到这里可能也都有点晕了吧!不过,这个时候,我再仔细看一下,43行/44行/45行/46行有一个共同点,我们都知道,在定义属性时,一般,我们都是要加双引号""的,是的,他们的属性都加了双引号,而且仔细一看,在属性中拿到servlet中的request中的值时(就以43行为例):request.getAttribute("lineSize"),这里我们也为"lineSize"加上了双引号,这也是没有错的.44/45/46也都是这个样子!就是这里,以我们先前所学的知识,毫无错误,也不会想到是这里出错了!但,错误就是这里导致的.

其实,大家回忆一下,我们应该是知道这个原则的,在双引号里再写双引号是会冲突的,是不正确的.但是大家要仔细看了,我们这里面是没有双引号接着双引号写的,我们是在另一个代码中写的双引号,所以,是没有错误的!

让我们再回头看一个错误提示中的英文吧: /index.jsp(43,38) Attribute value request.getAttribute("lineSize")  is quoted with " which must be escaped when used within the value.试着翻译一下,大概意思就是:引用“时必须在属性内避免使用".这一下,可能更晕了...

我们再想一想,value中写属性时,我们即可以用双引号",也可以用单引号'.

在这里也没有官方资料可以查阅,我想的话,最有可能应该是,Tomcat无法解析像43/44/45/46这种情况(如:value="<%=request.getAttribute("lineSize") %>"),双引号中还嵌入的有双引号...然后,我们再进一步分析,request.getAttribute("lineSize")中有能用双引号,是不能用单引号的,而value的双引号是可以修改成单引号的,所以,这可能也就是为什么,当我们在这种特殊的情况下,在value的属性中双引号时会出现这种错误,而当我们改成单引号时,程序确一切正常了!

其实,我们回头仔细想一想,这也不是我的推断,光看错误信息,现在想一想,其实,也就是这个原因了吧!

如有哪个高手,也遇到过这种问题,并且知道真正的原因,且我说的有问题的地方,请帮我指正一下,并批评我一下!在此,先感谢您了!我在这,也是总结一下问题,供自己学习用!希望也能帮助到遇到此困难的人!

错误:is quoted with which must be escaped when used within the value相关推荐

  1. ttribute value is quoted with which must be escaped when used within the value

    今天做项目访问JSP时,报错:Attribute value is quoted with " which must be escaped when used within the valu ...

  2. JSP: quoted with which must be escaped when used within the value 报错问题解决

    访问JSP时,报错:Attribute value is quoted with " which must be escaped when used within the value .相信 ...

  3. Attribute value is quoted with which must be escaped when used within the value 问题解决

    访问JSP时,报错:Attribute value is quoted with " which must be escaped when used within the value .相信 ...

  4. Attribute value is quoted with “ which must be escaped when used within the value 问题解决

    Attribute value is quoted with " which must be escaped when used within the value 问题解决 参考文章: (1 ...

  5. tomcat错误“Attribute value is quoted with which must be escaped when used within the value”

    目录 错误 错误代码 错误原因 解决 正确代码一 正确代码二 正确代码三 错误 错误代码 <c:forEach var="trueName" items="< ...

  6. Tomcat - 解决which must be escaped when used within the value错误

    Tomcat 6 下发生的错误: 代码: <tss:dateSelect prefix="b" formName="<%="form" + ...

  7. which must be escaped when used within the value

    <html:hidden property="bean.assessSchemeId" value="<%=queryOption.getValueByFie ...

  8. typescript ts 错误列表

    code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Identifier expected. 应为标识符 ...

  9. 遇到的Exception/error及解决办法记录汇总

    一.java.net.SocketException 1.java.net.SocketException:Connection reset 首先,如果一端的Socket被关闭(或主动关闭,或因为异常 ...

最新文章

  1. 读完《Effective Java》后,总结了 50 条开发技巧
  2. mac bash 下使用vi 快捷方式——因为没有alt键 所以没有办法 用vi模式也非常方便的...
  3. HTTP长连接、短连接
  4. deep$wide keras
  5. 详细解析Java中抽象类和接口的区别(很容易理解错)
  6. list选取多个元素 python_【幼儿园级】0基础学python一本通(上)——AI未来系列1...
  7. 链表的翻转(java)
  8. 远程桌面提示 “终端服务器超出了最大允许连接数” 的解决方法
  9. 2015年9月29笔试总结
  10. 不用身份证刷手就能坐飞机,掌静脉还能被应用在哪里领域?
  11. 程序员有七个等级?你又属于哪个等级呢?
  12. Javascript的常见数据类型以及相应操作
  13. 嵌入式linux程序加密,基于嵌入式操作系统uClinux实现网络安全加密系统的设计
  14. linux图像编辑,Photoflare:Linux下简单的开源图像编辑器
  15. 工作流引擎WorkFlow开源项目
  16. navicat导出数据库数据
  17. VMware Workstation 14打开虚拟机黑屏解决方法 —— 修复LSP
  18. vue+elementui+springboot前后端分离实现学校帖子网站,模拟“淘柳职”学校大作业
  19. 数据库可视化库_漂亮的javascript数据可视化库
  20. 信息安全-操作系统安全保护(二)

热门文章

  1. Python提取多张excel表上的数据,合并汇总到一张新表
  2. 72、公安网络视频监控系统解决方案
  3. 商业银行经营特点与三性原则:安全性、流动性、盈利性
  4. android 系统相册 多远,【系统相册】Android 保存图片到系统相册
  5. java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识
  6. 云宏信息科技股份有限公司
  7. 明日书苑:书法用笔挫笔、疾涩、接笔、搭锋、裹锋、平铺、筑锋、过
  8. 四川大学图书情报档案专业考研经验贴(2022.9.16已更新)
  9. OBS 基础11 添加自定义对话框 扩展,添加拉伸功能
  10. 网页制作之JavaScript篇