詳細アイコン ナビゲーション・ケースの結果

JSF構成ファイルには、多数のナビゲーション・ルールおよび各ルールに対する多数のナビゲーション・ケースを格納できます。これまでの例では、以前のキュー・カードでJSFナビゲーション・ダイアグラムを作成してナビゲーション・ケースを追加した際に、次に示すナビゲーション・ルールとナビゲーション・ケースがfaces-config.xmlに自動的に作成されました。

<navigation-rule>
  <from-view-id>/Login.jsp</from-view-id>
  <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/Success.jsp</to-view-id>
  </navigation-case>
  <navigation-case>
    <from-outcome>failure</from-outcome>
    <to-view-id>/Failure.jsp</to-view-id>
  </navigation-case>
</navigation-rule>

このナビゲーション・ルールでは、Login.jspページから他の2つのページであるSuccess.jspページとFailure.jspページにナビゲートするルールを指定しています。つまり、このナビゲーション・ルールでは、2つのナビゲーション・ケース(2つの結果)が発生する可能性があります。

ユーザーがLogin.jspページのコマンド・ボタンをクリックしたとき、どちらのナビゲーション・ケースを使用するかを指定するために、各ケースに対して、アクション・メソッドまたは結果、あるいはその両方を指定できます。

アクション・メソッドの作成と参照

この例では、アクション・メソッドからの結果を使用して、ユーザーがLogin.jspページの「Login」ボタンをクリックすると次に表示されるページを決定します。結果がsuccessの場合はSuccess.jspページを表示し、結果がfailureの場合はFailure.jspページを表示します。

コマンド・ボタンをクリックしたときにボタンのアクション・メソッドをコールするには、そのボタンのaction属性でメソッド式を使用して、マネージドBeanのメソッドを参照します。

コマンド・ボタンをダブルクリックして「バインドActionプロパティ」ダイアログを使用したときに、次の処理が自動的に実行されました。

アクション・メソッドは、パラメータを使用せずにオブジェクトを戻すpublicメソッドであることが必要です。オブジェクトは、論理結果を表し、JSF NavigationHandlerでその論理結果とfaces-config.xmlファイルにあるナビゲーション・ケース結果が比較され、次に表示するページが決定されます。したがって、生成されたアクション・メソッドに追加するイベント・コードは、"success""failure"の両方を戻すことで、Login.jspページの2つのナビゲーション・ケース結果をカバーする必要があります。