2014-02-08 46 views
1

我對JSF和facelets編程非常新,我按照此鏈接中的說明How to include another XHTML in XHTML using JSF 2.0 Facelets?使用<ui:include>標記,但奇怪的是我看到<ui:include>在頁面上不起作用。標記在渲染的xhtml頁面上顯示(sreenshot附件)。我猜測它的UI標籤lib沒有被拿起。但我不確定在哪裏檢查。<ui:include> JSF 2.0中的標記不起作用

我的配置:WAS 8.5與股票apache myfaces JSF 2.0實現。 Source of my xhtml page

+0

檢查一次您爲頁面添加的路徑是否正確? –

回答

3

您需要確保該ui: XML命名空間中的任何父元素聲明如下:

<anyelement ... xmlns:ui="http://java.sun.com/jsf/facelets"> 

您還需要確保該FacesServlet是在Web應用程序的web.xml上的URL模式映射*.xhtml,因爲您試圖直接在/login.xhtml上打開它。

<servlet-mapping> 
    <servlet-name>facesServlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 

FacesServlet是即一個負責等等進行解析時XHTML文檔並基於它的HTML輸出。

+0

嗨非常感謝您回答我的問題。在我的web.xml中有一個登錄過濾器,重定向到登錄頁面是用戶會話不存在。結果FacesServlet沒有被初始化。所以include不能只在登錄頁面上工作。這是你的答案,幫助我弄清楚發生了什麼事情。所以再次感謝。 –

+0

另外你在stackoverflow上的答案在學習JSF方面幫了我很大忙。 :) –