アプリケーションでナビゲーション・ケースが発生し、JSFナビゲーション・ルールが評価されるときは、次の3つの機能が考慮されます。
現在のビューのID
リンクの処理に使用されるアクション・メソッド
アクション属性の結果文字列値、またはアクション・メソッドによって戻される文字列
使用する適切なケースを検索する際は、最初に適切なルールが検索され、次にそのルール内で適切なケースが検索されます。
使用するルールは、次の順序に従って決まります。
結果がNULLの場合は、ただちに戻り現在のページが再表示されます。
同じ<from-view-id>
値を持つナビゲーション・ルールがすべてマージされます。
<from-view-id>
値がビューIDと完全に一致するルールが存在する場合は、そのルールが使用されます。
<from-view-id>
値がワイルドカードで終わるすべてのナビゲーション・ルールが考慮されます。考慮対象となる各ルールについて、接頭辞(ワイルドカード文字「*」の前のセクション)が、現在のビューのIDの対応する接頭辞と同じかどうかがチェックされます。一致するルールが複数ある場合は、一致する接頭辞が最も長いルールが使用されます。
<from-view-id>
値を持たないルールが存在する場合は、そのルールが使用されます。
一致するルールがない場合は、現在のページが再表示されます。
<from-view-id>
値が一致するナビゲーション・ルールはマージされるため、複数のナビゲーション・ケースが選択対象となる場合があります。適切なルールが検索されると、そのルール内で使用されるナビゲーション・ケースは次の順序に従って決まります。
<from-outcome>
と<from-action>
の両方が一致するケースがある場合は、そのケースが使用されます。
ケースに一致する<from-outcome>
があり<from-action>
がない場合は、そのケースが使用されます。
ケースに一致する<from-action>
があり<from-outcome>
がない場合は、そのケースが使用されます。
<from-outcome>
と<from-action>
の両方がないケースがある場合は、そのケースが使用されます。
<from-view-id>
、<from-action>
および<from-outcome>
の値が同じルールが複数あり競合がある場合は、最後のルールが使用されます。
異なる複数のJSF構成ファイルで定義されたルール間で競合がある場合、たとえば、<from-view-id>
、<from-action>
および<from-outcome>
の値が同じルールが複数ある場合は、web.xml
ファイルにリストされた構成ファイルの中で最後にロードされた構成ファイルのルールが使用されます。
JSFアプリケーションでのナビゲーションについて
JSFナビゲーション・ルールについて
JSFナビゲーション・ケースについて
ナビゲーションに影響を与えるアクション・メソッドおよび結果について
JSF編集ツールについて
Copyright © 1997, 2007, Oracle. All rights reserved.