升级到facelets - Myfaces 2.0,Tomahawk,ajax4jsf - Facelets页面不呈现

时间:2012-08-24 07:55:27

标签: jsf-2 primefaces facelets ajax4jsf tomahawk

我将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不能共存。

1 个答案:

答案 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必须匹配要呈现的页面。