2012-08-24 43 views
0

我將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不能共存。升級到Facelets - Myfaces 2.0,Tomahawk,ajax4jsf - Facelets頁面不渲染

回答

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模式,你的頁面有.xhtml擴展,很明顯的是,網頁別不會呈現。換句話說,url-pattern必須與要呈現的頁面匹配。

+0

我也試過,仍然遇到同樣的問題。 如果我刪除ajax4jsf jar,但是facelets頁面會呈現。 –