1

我正在将我的应用程序服务器从 Resin 移动到 Tomcat 6。在这个过程中,我面临着很多关于 JSP 编译的问题。(由于语法错误而收到大量 JasperExceptions)。我的 JSP 使用 JSTL 1.1 编译并在 Resin 中顺利运行。

有什么办法可以使用 Resin 的 JSP 编译类,即“com.caucho.jsp.JspCompiler”,而不是 Tomcat 6 中提供的 Jasper 编译器。

总之Tomcat使用特定的编译器而不是Jasper

4

1 回答 1

0

您是否已下载 JSTL 库并将其添加到您的应用程序中?Resin 似乎在其发行版中包含 JSTL,而 Tomcat 没有。

给定在 Tomcat 上运行的示例 jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<body>
    <h1>
    <c:out value="Hello World" />
    </h1>
</body>
</html>

在安装 JSTL 库之前,tomcat 给出以下错误

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)

一旦安装了 JSTL 库(下载链接),错误就会消失,Hello World 会打印到屏幕上。

由于您没有向我们展示错误,我会假设您的错误可能是相似的。无需更改使用的编译器。

于 2010-12-10T15:59:01.003 回答