JSP:在 Tomcat 中需要引号,但在 WebSphere 中没有

JSP: Quote symbol expected in Tomcat but not in WebSphere

我在我的应用程序中使用 struts2,当我在 Tomcat 中 运行 我的应用程序时出现以下错误 org.apache.jasper.JasperException:/myapp/testReview.jsp(行:29,列: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 中的错误 状态="stat"

这与 Tomcat JSP 编译器有关吗?

不是,这与解析 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)

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