指定されたビュー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-extension>
proprietary elements</navigation-rule-extension>]
</navigation-rule>
<from-view-id>
ViewIdPattern
に準拠する必要があります。これは、値を次のいずれかに設定する必要があることを示します。
/mypage.jsp
など)との完全一致。<navigation-case>
<from-view-id>
に対して、アクションと結果の一意の組合せに基づいて表示される結果ビューを宣言します。<from-action>
または<from-outcome>
子要素(あるいはその両方、オプション)、<to-view-id>
子要素、および<redirect/>
子要素(オプション)。 <navigation-rule-extension>
<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構成要素
Copyright © 1997, 2009, Oracle. All rights reserved.