【问题标题】:JSP: Quote symbol expected in Tomcat but not in WebSphereJSP:Tomcat 中需要引用符号,但 WebSphere 中没有
【发布时间】:2015-08-19 14:59:41
【问题描述】:

我在我的应用程序中使用 struts2,当我在 Tomcat 中运行我的应用程序时出现以下错误 org.apache.jasper.JasperException: /myapp/testReview.jsp (line: 29, column: 45) 需要引用符号

第 29 行:<s:iterator value="testSummaryList" status=stat> <s:iterator> <tr> <td><s:property value="value" /></td> <td><s:property value="key" /></td> </tr> </s:iterator> </s:iterator> 当我在 WebSphere 中部署我的应用程序时,相同的代码可以正常工作。 这修复了Tomcat中的错误 状态=“统计”

这和 Tomcat JSP 编译器有关吗?

【问题讨论】:

    标签: jsp tomcat websphere-8


    【解决方案1】:

    不,这与解析JSTL(XML)的方式有关:

    http://www.herongyang.com/JSP/JSTL-Overview-General-Syntax-of-JSTL-Tags.html

    status 属性的值不带引号会使其无效,因此解析文件时会出现 JasperException。

    堆栈跟踪的其余部分可能如下所示:

    org.apache.jasper.JasperException: /myapp/testReview.jsp (line: 29, column: 45) quote symbol expected
    org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(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.parseAttribute(Parser.java:198)
    org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:148)
    org.apache.jasper.compiler.Parser.parseUseBean(Parser.java:929)
    org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1112)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421)
    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)
    

    所以你应该看到 Parser 类抛出了异常(尽管这是 JSP 编译过程的一部分)。

    【讨论】:

    • 你是说文件在Tomcat和WebSphere中的解析方式不同?
    • 是的,不同的容器、版本和构建都会有细微差别。我想Tomcat以“严格”的方式解析XML,而WebSphere更宽容(可能有一个设置可以改变这种行为)。
    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 2015-04-02
    • 2018-08-31
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多