ADFメニュー・メタデータ・ファイル(sale_menu.xml
など)の「構造」ウィンドウで、任意のノードを右クリックすると、ポップアップ・メニューのオプションとして「変換」が表示されます。
「変換」ダイアログでリストに表示されるオプションは、構造ウィンドウで選択したノードのタイプによって異なります。たとえば、itemNode
を右クリックすると、選択リストにはgroupNode
とsharedNode
が表示されます。
この例では、「変換」ダイアログで「groupNode」を選択し、「OK」をクリックすると、「groupNodeのプロパティ」ウィザードが起動します。「idref」フィールドに子itemNode
のIDを入力するか、「プロパティの編集」ダイアログでIDを選択する必要があります。これは、メニュー・メタデータ・ソース・ファイルのgroupNode
要素に、ナビゲーションの子ノードを参照する必要がある必須のidref
属性があるためです。
「idref」フィールドの端にある をクリックすると、「プロパティの編集」ダイアログにメニューで使用可能な子
itemNode
要素が表示されます。
子は、実行時にメニューに各アイテムが表示される順序でリストされます。通常は、idref
属性の最初の子アイテムを選択します。作業の完了後に「OK」をクリックします。次に、「groupNodeのプロパティ」ウィザードで「終了」をクリックします。
プロンプトが表示された場合は、変換を確認するために、「変換の確認」ダイアログで「OK」をクリックします。
変換が終了すると、ADFメニュー・メタデータ・ファイルにgroupNode
要素が表示されます。たとえば、sale_menu.xml
には次のように表示されます。
<menu xmlns="http://myfaces.apache.org/trinidad/menu">
<groupNode id="itemNode_sale" label="Sale"
idref="itemNode_electronics">
<itemNode id="itemNode_electronics" label="Electronics"
action="adfMenu_electronics"
focusViewId="/electronics"/>
<itemNode id="itemNode_office" label="Office"
action="adfMenu_office" focusViewId="/office"/>
<itemNode id="itemNode_media" label="Media"
action="adfMenu_media" focusViewId="/media"/>
/groupNode>
</menu>
groupNode
要素には、次の属性が格納されます。
id
: 必須。グループ・メニュー・アイテムの一意の識別子です。 label
: グループ・メニュー・アイテムに表示するラベル・テキストを指定します。#{bundle.somelabel}
など、リソース・バンドルの文字列に対するEL式も使用できます。このbundle
には、ルートmenu
要素のvar
属性の値を指定します。idref
: 必須。子ノードのIDを指定します。itemNode
またはgroupNode
を指定できます。次に例を示します。<menu xmlns:"http://myfaces.apache.org/trinidad/menu">
<groupNode id="gn1" idref="gn11" label="GLOBAL_TAB_0">
<groupNode id="gn11" idref="in1" label="PRIMARY_TAB_0">
<itemNode id="in1" label="LEVEL2_TAB_0" action="goToSubTabOne"
focusViewId="/menuDemo/subtab1.jspx"/>
<itemNode id="in2" label="LEVEL2_TAB_1" action="goToSubTabTwo"
focusViewId="/menuDemo/subtab2.jspx"/>
</groupNode>
<itemNode id="in3" label="PRIMARY_TAB_1" focusViewId="/menuDemo/tab2.jspx"
destination="/faces/menuDemo/tab2.jspx"/>
</groupNode>
<itemNode id="gin1" label="GLOBAL_TAB_1" action="goToGlobalOne"
focusViewId="/menuDemo/global1.jspx"/>
<itemNode id="gin2" label="GLOBAL_TAB_2"
destination="/faces/menuDemo/global2.jspx"
focusViewId="/menuDemo/global2.jspx"/>
</menu>
ADFメニュー・メタデータ・ファイルで、itemNode
は、ユーザーが選択したときにナビゲーションを実行するメニュー・アイテムを表します。ナビゲーションは、要素のaction
またはdestination
属性を介して実行されます。groupNode
には1つ以上の子itemNode
要素または別のgroupNode
、あるいはその両方を格納できます。
itemNode
要素とは異なり、groupNode
要素にはaction
属性やdestination
属性はありません。ナビゲーションは、アクション結果またはグループ・ノードのidref
属性で参照される子itemNode
のナビゲート先URIを介して間接的に実行されます。子groupNode
がidref
で参照される場合は、子itemNode
に到達するまで、ノードでのナビゲーション検索が続行されます。
この例では、「Sale」についてitemNode
をgroupNode
に変換し、子itemNode
の「Electronics」を指すようにグループ・ノードを構成します。これは、アプリケーションの実行時にエンド・ユーザーが「Sale」メニュー・アイテムを選択すると、SaleページではなくElectronicsページが表示されることを意味します。
Copyright © 1997, 2009, Oracle. All rights reserved.