我将jsf1项目迁移到jsf2
webapp基于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不能共存。
答案 0 :(得分: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
作为url-pattern并且你的网页有.xhtml
扩展名,很明显这些网页不会被渲染。换句话说,url-pattern必须匹配要呈现的页面。