我将一个jsf1项目迁移到了jsf2。
这个well应用是基于Myfaces 2.1.8,Tomahawk20-1.1.13和ajax4jsf-1.1.1 -在Tomcat7上运行的。它运行得很好,所以我想把部分页面升级到facelets并插入Primefaces。
问题是,如果我使用jsf核心标记,facelets页面不会呈现-浏览器显示空白页面,日志中也没有错误。
如果页面是纯xhtml,它可以很好地呈现。我知道如果Faces servlet根本不工作就会发生这种情况,但是使用*.jsf的映射,它应该首先查找.xhtml页面,对吗?
任何帮助都将不胜感激。
似乎facelets和ajax4jsf不能共存。
发布于 2012-08-25 19:20:44
如果您的页面有一个.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作为url-pattern,并且您的页面具有.xhtml扩展名,则很明显页面不会被呈现。换句话说,url-pattern必须与要呈现的页面相匹配。
https://stackoverflow.com/questions/12105276
复制相似问题