1

私が理解したように、fasui:defineは、テンプレートクライアントとして機能するファイルui:insertで使用され、Faceletsテクノロジのマスターテンプレートとして機能するファイルで使用されます。これら2つの間のリンクは、「name」属性を介して行われます。しかし、「name」属性はの場合はオプションですui:insertが、の場合は必須であることがわかりますui:define。なぜそうなのか?

4

1 に答える 1

1

<ui:insert/>タグファイルでタグ本文のコンテンツを挿入するために使用することもできます。

例えば

/WEB-INF/tags/someTag.xhtml

<ui:composition ...>
    <p>Some HTML ...</p>
    <ui:insert/>
    <p>Some other HTML...</p>
<ui:composition>

として使用されます

<my:someTag ...>
    <p>This content will end up in place of ui:insert.</p>
</my:someTag>

ちなみに、これはデータテーブルに特に役立ちます。

/WEB-INF/tags/dataTable.xhtml

<ui:composition ...>
    <h:dataTable ...>
        <ui:insert/>
    </h:dataTable>
<ui:composition>

として使用されます

<my:dataTable ...>
    <h:column>...</h:column> <!-- can also be another tag file! -->
</my:dataTable>

上記は複合コンポーネントでは不可能であることに注意してください。

参照:

于 2012-10-26T19:18:29.733 に答える