はい、もちろん、JSF 2.0 にはページ テンプレート機能があります。すべてのビュー ページに対する一般的なレイアウトを定義するテンプレートを定義します。
基本ページを作成する Facelets タグ:
- ui:insert – テンプレートをロードするファイルによって置き換えられるコンテンツを定義します。
- ui:define – タグに挿入されるコンテンツを定義し
ui:insert
ます。
- ui:include – 別のページのコンテンツを含めます。
- ui:composition – template 属性で使用される場合、指定されたテンプレートが読み込まれ、このタグの子がテンプレート レイアウトを定義します。それ以外の場合は、どこかに挿入できる要素のグループです。
例えば:
<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>