2011-06-18 100 views
0

我是jsf中的新成員,我想知道如何重新使用其他.jsf頁面而無需「複製粘貼」它們。如何在JSF中包含頁面?

以.jsp我做的:

// head.jsp 
<head> ... </head> 

// top.jsp 
<body> ... </body> 

Then i include them in my new .jsp 
// index.jsp 
<%@include file="head.jsp" %> 
<%@include file="top.jsp" %> 
... 

我怎樣才能做到這在JSF? 我試着這樣說:

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets"> 
    <h:head> 
     <ui:include src="components/head.xhtml" /> 
    </h:head> 
    <h:body> 
     <ui:include src="components/top.xhtml" /> 
    </h:body> 
</html> 

但不工作..

任何想法?

此致敬禮, 瓦爾特恩裏克。

回答

1

Facelets是JSF2的默認視圖技術,所以我將使用它的< ui:include >標籤在這裏。確保你的路徑是正確的 - 他們應該從webapp root開始,一個包含WEB-INF,並且確保包含的facelets包含圍繞所包含內容的< ui:composition >標籤。此標籤之外的任何內容都將被忽略。

+0

謝謝兄弟!它真的幫助我。 –

-1

嘗試在覈心庫中查找「導入」標記。

我認爲ui:include可能是facelets而不是普通的jsf。