「コンポーネント・パレット」「JSFダイアグラム・オブジェクト」
「コンポーネント」
「ヘルプ」
リンク元JSFページとリンク先JSFページ間にJSFナビゲーション・ケースを作成する際に使用します。方法
ナビゲーション・ケースはダイアグラム上で、JSFページ間の実線として表示されます。線のラベルは「結果(自)」文字列値を表します。
リンク元ページのJSFナビゲーション・ルールがない場合、JDeveloperによってナビゲーション・ルールが追加され、そのルールのナビゲーション・ケースが追加されます。
プロパティ・インスペクタでは、次の属性を変更できます。
アクション(自)
アクション・メソッドとして評価されるJSF EL式を入力します。このメソッドは、ナビゲーション処理を行うバッキングBeanのメソッド(例: #{backing_home.submit}
)で、String
の結果値を返します。指定しない場合、実行されるアクションに関係なくナビゲーション・ルールが関連します。
結果(自)
結果文字列を入力します。関連するケースについて、この文字列は、UICommand
コンポーネントで参照されるアクション・メソッドで返される値であるか、UICommand
コンポーネントのaction
プロパティの値である必要があります。指定しない場合は、設定または戻された結果に関係なくルールが関連します。
リダイレクト
デフォルトはfalse
(現在のリクエストに対するレスポンスとして、必要なビューが単純にレンダリングされます)。JSFからリダイレクト・レスポンスを送信し、必要な新規のビューをブラウザがリクエストするようにする場合は、true
を選択します。これにより、ナビゲーション・ケースに<redirect/>
が追加されます。
ナビゲーションをリダイレクトとして定義した場合、新しいビューのURLを反映するようにユーザーのブラウザのアドレス・フィールドが変更されます。直接レンダリングでは、アドレス・フィールドは更新されません。直接レンダリングのほうがリダイレクトよりも高速です。
ナビゲーション・ケースをリダイレクトとして設定するかどうかは、次の点を考慮して判断してください。
ビューID(至)
リンク先ページの識別子。識別子はViewIdPattern
に準拠している必要があります。これは、既存のビューに完全一致している必要があります( /mypage.jsp
xなど)。
news
のアクションについて、welcome.jsp
ページの「View News」コマンドリンクからcurrentnews.jsp
ページにナビゲートするルールを定義します。
<navigation-rule>
<from-view-id>/welcome.jspx</from-view-id>
<navigation-case>
<from-outcome>news</from-outcome>
<to-view-id>/currentnews.jspx</to-view-id>
</navigation-case>
</navigation-rule>
login.jspx
ページからwelcome.jspx
ページにナビゲートし、認証されない場合はlogin.jspx
ページに戻るルールを定義します。このルールは、"success"または"failure"の結果を戻す、login.jspx
ページからのアクションに対して有効です。
<navigation-rule>
<from-view-id>/login.jspx</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jspx</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failure</from-outcome>
<to-view-id>/login.jspx</from-outcome>
</navigation-case>
</navigation-rule>
login.jspx
のルールを定義します。ユーザーがこのページで実行するアクションは、次の3つのいずれかになります。
「Log in」コマンド・ボタンのアクション・プロパティは、User
BeanのloginAction
メソッドにバインドされています。ユーザー名とパスワードが有効な場合、このメソッドは結果として文字列"success"を戻します。ユーザー名とパスワードが無効な場合は、結果として文字列"failure"を戻します。
「Register Now」コマンド・リンクは、User
Beanのregister
メソッドにバインドされ、結果として文字列"success"を戻します。
<navigation-rule>
<from-view-id>/login.jspx</from-view-id>
<navigation-case>
<from-action>#{user.loginAction}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jspx</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{user.loginAction}</from-action>
<from-outcome>failure</from-outcome>
<to-view-id>/login.jspx</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{user.register}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/register.jspx</to-view-id>
</navigation-case>
</navigation-rule>
Copyright © 1997, 2009, Oracle. All rights reserved.