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 编译过程的一部分)。
我在我的应用程序中使用 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 编译过程的一部分)。