0

我将一个 jsf1 项目迁移到 jsf2。
该 web 应用程序基于 Myfaces 2.1.8 、 Tomahawk20-1.1.13 和 ajax4jsf-1.1.1 - 在 Tomcat 7 上运行。一切正常,所以我想将部分页面升级为 facelets 并插入 Primefaces。
问题是如果我使用 jsf 核心标签,facelets 页面不会呈现 - 浏览器显示空白页面,日志中也没有错误。
如果页面是纯 xhtml,它会很好地呈现。我知道如果 Faces servlet 根本不工作但使用 *.jsf 的映射它应该首先查找 .xhtml 页面时会发生这种情况,对吗?
任何帮助将不胜感激。
看来 facelets 和 ajax4jsf 不能共存。

4

1 回答 1

0

如果您的页面具有.xhtml扩展名,则您的 web.xml 应包含以下内容:

<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>*.xhtml</url-pattern>
</servlet-mapping>

如果你有*.jsfas url-pattern 并且你的页面有.xhtml扩展名,那么很明显页面没有被渲染。换句话说,url-pattern 必须与要呈现的页面匹配。

于 2012-08-25T11:20:43.970 回答