gpt4 book ai didi

升级到 Tomcat 7 后,JSP/JSF 文档无法正确呈现

转载 作者:行者123 更新时间:2023-11-28 22:08:47 25 4
gpt4 key购买 nike

我有一个试图在 Tomcat 7 上运行的 JSF1.0 应用程序。它目前在 Tomcat 6 上运行正常。

问题是在 Tomcat 7 上加载页面会呈现 XML(包含 JSF 标记的 JSP 文档)而不是解析所有标记优点并发出所需的 HTML。

我已经解决了这里和其他地方报告的许多类似问题,包括 BalusC 在 this post 的评论中链接到的那些问题.这些都没有帮助解决问题。 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 上启动和运行这批产品?

最佳答案

TLD 文件不应放在 WEB-INF/lib 中

请参阅 JSP 规范的 JSP.7.3.1 部分(Tomcat 6 为 2.1,Tomcat 7 为 2.2,Tomcat 8 为 2.3)。我没有回去检查早期的规范。

Tomcat 6 让您摆脱这种情况。由于 Tomcat 6 和 Tomcat 7 之间发生的 TLD 处理重构,Tomcat 7 及更高版本不再如此。此重构对 TLD 处理进行了各种改进。其他更改之一是遵循 JSP.7.3.1 的要求。

关于升级到 Tomcat 7 后,JSP/JSF 文档无法正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com