我有一个试图在 Tomcat 7 上运行的 JSF1.0 应用程序。它目前在 Tomcat 6 上运行正常。
问题是在 Tomcat 7 上加载页面会呈现 XML(包含 JSF 标记的 JSP 文档的),而不是解析所有标记的优点并发出所需的 HTML。
我已经解决了这里和其他地方报告的许多类似问题,包括 BalusC 在这篇文章的评论中链接到的问题。这些都没有帮助解决问题。Faces servlet 配置正确,应用程序在 Tomcat 6 上运行没有问题。
我知道 Tomcat 7 发布了新版本的 Servlet、JSP 和 EL 规范,但我找不到 (a) 任何证据表明这是问题的一部分或 (b) Tomcat 7 所需的新配置的任何指导让我的应用程序正常工作。该应用程序还使用旧的 Struts Tiles 1,但我再次没有证据表明这是问题所在。
这是一些代码。
这是 JSP 文档。这(不包括 XML 和 jsp:root 标记)是呈现给浏览器的内容。
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:x="uri://uri/of/x"
version="1.2">
<jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
<x:view>
<html>
... etc (lots more tags from the app's taglib x)
</html>
</x:view>
</jsp:root>
这是 Faces servlet 映射
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
我如何在 Tomcat 7 上启动并运行这个批次?