我對使用JSF並不確定,但我不確定這是否正確,但在Rails中通常會有一個主應用程序文件當前頁面被加載。這樣我就不必擔心每次都會複製粘貼菜單等。JSF 2 - 從兩個文件構建一個頁面 - 主要和當前內容
如何通過JSF 2實現這一目標?我可以每次導航到同一主頁並告訴它加載當前內容嗎?還是告訴我導航到的當前頁面以加載「圍繞內容的主框架」?
謝謝!
我對使用JSF並不確定,但我不確定這是否正確,但在Rails中通常會有一個主應用程序文件當前頁面被加載。這樣我就不必擔心每次都會複製粘貼菜單等。JSF 2 - 從兩個文件構建一個頁面 - 主要和當前內容
如何通過JSF 2實現這一目標?我可以每次導航到同一主頁並告訴它加載當前內容嗎?還是告訴我導航到的當前頁面以加載「圍繞內容的主框架」?
謝謝!
是的,當然,JSF 2.0有page-templating feature。您可以定義一個模板來爲所有視圖頁面定義一個通用佈局。
Facelets標記來創建基本的網頁:
ui:insert
中的內容;例如:
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/templates/myLayout.xhtml">
<ui:define name="menu">
<ui:include src="/mypath/menu.xhtml"/>
</ui:define>
<ui:define name="content">
<ui:include src="/mypath/content.xhtml"/>
</ui:define>
</ui:composition>
或
<ui:insert name="content">
<ui:include src="/mypath/mycontent.xhtml"/>
</ui:insert>
JSF不支持您想要存檔的內容。相反,它支持視圖和基本佈局(模板)。你需要它這個:
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
template="path/to/template.xhtml>
<your custom content here/>
<ui:composition/>
http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/ – Daniel
相關: http://stackoverflow.com/questions/4792862/how-to-include-another-xhtml-in-xhtml-using-jsf-2-0-facelets – BalusC