3

<ui:define>JSFテンプレートが提供するものをオーバーライドする方法はありますか?

たとえばmain.xhtml、テンプレートファイルを含むインスタンスファイルには、次のものが含まれます。

<ui:define name="title">SomeTitle</ui:define>
<ui:define name="menu"><ui:include src="path_to_menu_1"/></ui:define>
<ui:define name="content">content_code_goes_here</ui:define>

main2.xhtmlと同じファイルを作成したい場合main.xhtml、別のメニューを使用することを除いて、次のようなことを行う可能性があります。

<ui:include src="main.xhtml"/>
<ui:define name="menu"><ui:include src="path_to_menu_2"/></ui:define>

<ui:define name="menu">で同じ名前の属性を持つタグをオーバーライドする場所main.xhtml

4

1 に答える 1

3

main.xhtmlのテンプレートとして指定するだけですmain2.xhtml

main.xhtml

<ui:composition template="sometemplate.xhtml" ...>
    <ui:define name="title">SomeTitle</ui:define>
    <ui:define name="menu"><ui:include src="path_to_menu_1"/></ui:define>
    <ui:define name="content">content_code_goes_here</ui:define>
</ui:composition>

main2.xhtml

<ui:composition template="main.xhtml" ...>
    <ui:define name="menu"><ui:include src="path_to_menu_2"/></ui:define>
</ui:composition>
于 2012-09-17T10:56:08.953 に答える