詳細アイコン ADFメニュー・モデルへのナビゲーション・ペインのバインド

ナビゲーション・ペイン・コンポーネントは、一連のコマンド・ナビゲーション・アイテム・コンポーネントを子として受け入れます。各コマンド・ナビゲーション・アイテム・コンポーネントは1つのメニュー・アイテムを表します。次に例を示します。

<af:navigationPane level="0" hint="buttons"..>
  <af:commandNavigationItem text="Home"../>
  <af:commandNavigationItem text="Help"../>
</af:navigationPane>  

ただし、ADFメニューを使用する場合は、一連のコマンド・ナビゲーション・アイテム・コンポーネントを子として挿入しません。かわりに、ナビゲーション・ペイン・コンポーネントをADFメニュー・モデルにバインドし、ナビゲーション・ペイン・コンポーネントのnodeStampファセットを使用します。

ADFメニュー・モデルにバインドするには、プロパティ・インスペクタでナビゲーション・ペインに対してvalue属性とvar属性を設定します。value属性には、ルート・メニューに対して構成したマネージドBeanの名前を指定する必要があります(Bean名はadfc-config.xmlに定義されています)。共有ノードを介して参照されるメニュー・モデルのマネージドBean名は使用できません。var属性の値は、root_menu.xmlファイルのアイテムを参照する際に使用するEL変数名です。任意の名前をEL変数名として使用できます。

プロパティ検証、「データ」セクション

次に、個々のコマンド・ナビゲーション・アイテム・コンポーネントを使用してナビゲーション・アイテムを表すのではなく、1つのコマンド・ナビゲーション・アイテムのみをナビゲーション・ペイン・コンポーネントのnodeStampファセットに挿入します。EL変数名menuInfoを使用して、単一のコマンド・ナビゲーション・アイテムがEL式を介してADFメニュー・モデルのプロパティを参照します。実行時にnodeStampは、そのレベルの適切な数のナビゲーション・アイテムをスタンプ・アウトします。

構造ウィンドウ、nodeStampファセット

ナビゲーション・ペインおよびコマンド・ナビゲーション・アイテムの完全なXMLコードは、次のようになります。このコードでは、ルート・メニュー(root_menu.xml)からメタデータを使用してレベル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>

nodeStampファセットとその単一のaf:commandNavigationItemタグは、次のように機能します。