ナビゲーション・ペインをADFメニュー・モデルにバインドし、nodeStamp
ファセットを使用してコマンド・ナビゲーション・アイテムをスタンプ・アウトすると、任意のメニュー・レベルのナビゲーション・ペイン・コンポーネントに対して、実質的に同じコードを使用できます。変更する必要があるナビゲーション・ペイン・コンポーネント属性は、level
値とhint
値のみです。
たとえば、レベル0
のボタンを生成するコードは、次のようになります。
<af:navigationPane var="menuInfo" value="#{root_menu}"
level="0" hint="buttons"..>
<f:facet name="nodeStamp">
<af:commandNavigationItem text="#{menuInfo.label}"
action="#{menuInfo.doAction}"
icon="#{menuInfo.icon}"
destination="#{menuInfo.destination}"../>
</f:facet>
</af:navigationPane>
また、レベル1
のタブを生成するコードは、次のようになります。
<af:navigationPane var="menuInfo" value="#{root_menu}"
level="1" hint="tabs"..>
<f:facet name="nodeStamp">
<af:commandNavigationItem text="#{menuInfo.label}"
action="#{menuInfo.doAction}"
icon="#{menuInfo.icon}"
destination="#{menuInfo.destination}"../>
</f:facet>
</af:navigationPane>
XMLソース・エディタでの編集に慣れている場合は、ナビゲーション・ペインのコード全体をコピー・アンド・ペーストし、特定のレベルのlevel
属性とhint
属性の値を単純に置換してもかまいません。(ナビゲーション・ペインおよびとコマンド・ナビゲーション・アイテムのid
値が設定されている場合は、それを一意の値で置換することも必要です。)
注意: ADFメニュー・モデルのメタデータに特定のレベルのアイテムがない場合、コードは無視され、そのレベルのアイテムはスタンプ・アウトされません。これは、テンプレート内のすべてのレベルに対してコードを挿入し、そのテンプレートを使用してJSFページを作成できることを意味します。その後、JSFページの作成者が、ページ固有のコンテンツを追加します。メニュー・モデルへのナビゲーション・ペイン・コンポーネントの追加およびバインドについて、ページ作成者が心配する必要はありません。
Copyright © 1997, 2009, Oracle. All rights reserved.