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.xhtmlmain2.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 回答