JSFナビゲーション・ルールの評価について

アプリケーションでナビゲーション・ケースが発生し、JSFナビゲーション・ルールが評価されるときは、次の3つの機能が考慮されます。

使用する適切なケースを検索する際は、最初に適切なルールが検索され、次にそのルール内で適切なケースが検索されます。

使用するルールは、次の順序に従って決まります。

  1. 結果がNULLの場合は、ただちに戻り現在のページが再表示されます。

  2. 同じ<from-view-id>値を持つナビゲーション・ルールがすべてマージされます。

  3. <from-view-id>値がビューIDと完全に一致するルールが存在する場合は、そのルールが使用されます。

  4. <from-view-id>値がワイルドカードで終わるすべてのナビゲーション・ルールが考慮されます。考慮対象となる各ルールについて、接頭辞(ワイルドカード文字「*」の前のセクション)が、現在のビューのIDの対応する接頭辞と同じかどうかがチェックされます。一致するルールが複数ある場合は、一致する接頭辞が最も長いルールが使用されます。

  5. <from-view-id>値を持たないルールが存在する場合は、そのルールが使用されます。

  6. 一致するルールがない場合は、現在のページが再表示されます。

<from-view-id>値が一致するナビゲーション・ルールはマージされるため、複数のナビゲーション・ケースが選択対象となる場合があります。適切なルールが検索されると、そのルール内で使用されるナビゲーション・ケースは次の順序に従って決まります。

  1. <from-outcome><from-action>の両方が一致するケースがある場合は、そのケースが使用されます。

  2. ケースに一致する<from-outcome>があり<from-action>がない場合は、そのケースが使用されます。

  3. ケースに一致する<from-action>があり<from-outcome>がない場合は、そのケースが使用されます。

  4. <from-outcome><from-action>の両方がないケースがある場合は、そのケースが使用されます。

  5. 一致するルールがない場合は、現在のページが再表示されます。

<from-view-id><from-action>および<from-outcome>の値が同じルールが複数あり競合がある場合は、最後のルールが使用されます。

異なる複数のJSF構成ファイルで定義されたルール間で競合がある場合、たとえば、<from-view-id><from-action>および<from-outcome>の値が同じルールが複数ある場合は、web.xmlファイルにリストされた構成ファイルの中で最後にロードされた構成ファイルのルールが使用されます。


JSFアプリケーションでのナビゲーションについて
JSFナビゲーション・ルールについて
JSFナビゲーション・ケースについて
ナビゲーションに影響を与えるアクション・メソッドおよび結果について
JSF編集ツールについて

JSFナビゲーション・ルールの作成および編集