指定されたビューIDに対してアプリケーションのデフォルトのナビゲーション・ハンドラで使用されるナビゲーション・ルールを宣言します。ネストされた<navigation-case>
要素では、指定されるアクションと結果の一意の組合せに基づいて結果ビューが決まります。
<navigation-rule>
[<description/>]*
[<display-name/>]*
[<icon/>]*
[<from-view-id>viewId</from-view-id>]
[<navigation-case
>*
[<description/>]*
[<display-name/>]*
[<icon/>]*
[<from-action>fromActionBinding</from-action>]
[<from-outcome>fromOutcome</from-outcome>]
<to-view-id>viewId</to-view-id>
[<redirect
/>]</navigation-case>]
</navigation-rule>
<from-view-id>
ViewIdPattern
に準拠する必要があります。これは、値を次のいずれかに設定する必要があることを示します。
/mypage.jsp
など)との完全一致。
<navigation-case>
<from-view-id>
に対して、アクションと結果の一意の組合せに基づいて表示される結果ビューを宣言します。<from-action>
または<from-outcome>
子要素(あるいはその両方、オプション)、<to-view-id>
子要素、および<redirect/>
子要素(オプション)。
<from-action>
<from-outcome>
UICommand
コンポーネントで参照されるアクション・メソッドから戻されるか、またはUICommand
コンポーネントのaction
プロパティの値である必要があります。指定しない場合は、設定または戻される結果に関係なくルールが関連します。<to-view-id>
<redirect>
次の例では、結果がnews
のアクションについて、welcome.jsp
ページの「View News」コマンド・リンクからcurrentnews.jsp
ページにナビゲートするルールを定義します。
次の例では、ユーザーとパスワードが認証されると<navigation-rule>
<from-view-id>/welcome.jsp</from-view-id>
<navigation-case>
<from-outcome>news</from-outcome>
<to-view-id>/currentnews.jsp</to-view-id>
</navigation-case>
</navigation-rule>
login.jsp
ページからwelcome.jsp
ページにナビゲートし、認証されない場合はlogin.jsp
ページに戻るルールを定義します。このルールは、"success"または"failure"の結果を戻す、login.jsp
ページからのアクションに対して有効です。
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failure</from-outcome>
<to-view-id>/login.jsp</from-outcome>
</navigation-case>
</navigation-rule>
次の例では、login.jsp
のルールを定義します。ユーザーがこのページで実行するアクションは、次の3つのいずれかになります。
「Log in」コマンド・ボタンのアクション・プロパティは、User
BeanのloginAction
メソッドにバインドされています。ユーザー名とパスワードが有効な場合、このメソッドは結果として文字列"success"を戻します。ユーザー名とパスワードが無効な場合は、結果として文字列"failure"を戻します。
「Register Now」コマンド・リンクは、User
Beanのregister
メソッドにバインドされ、結果として文字列"success"を戻します。
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-action>#{user.loginAction}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{user.loginAction}</from-action>
<from-outcome>failure</from-outcome>
<to-view-id>/login.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{user.register}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/register.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<description>要素
<display-name>要素
<icon>要素
JSFでのページ・ナビゲーションの管理
リファレンス: JSF構成要素
Copyright © 1997, 2006, Oracle. All rights reserved.