我将一个 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 不能共存。
问问题
497 次
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>
如果你有*.jsf
as url-pattern 并且你的页面有.xhtml
扩展名,那么很明显页面没有被渲染。换句话说,url-pattern 必须与要呈现的页面匹配。
于 2012-08-25T11:20:43.970 回答