2

PrimeFacesでJSF2を試すための簡単なWebアプリケーションを作成していますが、これまでのところ、箱から出してすぐに実行できることに本当に感銘を受けています。さまざまなチュートリアルや記事を読んで、テンプレートのプロパティと、これらを挿入できるかどうかについて質問があります。

テンプレートにHTMLコンテンツのチャンクを挿入できることはわかっています。次に例を示します。

<title>
  <ui:insert name="title">Default Title</ui:insert>
</title>

ただし、場合によっては、プロパティレベルで挿入すると便利です。私が考えた具体的なものはTabMenuでした。ここで、ナビゲーションにTabMenuを使用している場合(すべてのページで同じTabMenuが必要なので、テンプレートを使用するのが理にかなっています)、「activeIndex」をあなたが見ていたページ。ただし、これはテンプレートファイルでは機能しないようです。

<p:tabMenu <ui:insert name="activeIndex">activeIndex="0"</ui:insert>>
  <p:menuitem value="Overview" outcome="main" icon="ui-icon-star"/>
  <p:menuitem value="Demos" outcome="demos" icon="ui-icon-search" />
  <p:menuitem value="Documentation" outcome="docs" icon="ui-icon-document"/>
</p:tabMenu>

それが理にかなっていることを願っています。これを行う方法はありますか、それともこの設計は完全に間違っていて、はるかに優れた方法がありますか?

4

1 に答える 1

3

として渡します<ui:param>

例: テンプレート クライアント:

<ui:composition template="/WEB-INF/templates/some.xhtml">
    <ui:param name="activeIndex" value="0" />

    ...
</ui:composition>

およびマスターテンプレートで:

<p:tabMenu activeIndex="#{activeIndex}">
于 2012-10-31T18:56:19.470 に答える