Extension - 逆引きリファレンス - 画面遷移と状態

initialize() メソッドの戻り値で次画面のページクラスまたは ページ名 を指定します.

例:ページクラス (FooPage.java)

関連項目

do~() メソッドの戻り値で次画面のページクラスまたは ページ名 を指定します.

例:ページクラス (FooPage.java)

関連項目

ライフサイクルメソッド に @Redirect アノテーションを付与し,リダイレクトで使用するプロトコル (httpまたはhttps) を指定します.

例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
定数アノテーション

関連項目

ページクラスに javax.servlet.http.HttpServletResponse 型および javax.faces.context.FacesContext 型のプロパティを用意します. ライフサイクルメソッドの中で HttpServletResponse の sendRedirect(String location) メソッドを呼び出してリダイレクト先を指定します. その後, FacesContext の responseComplete() メソッドを呼び出します.

例:ページクラス (FooPage.java)

関連項目

初期表示 や リダイレクト表示 , ポストバック (自画面表示) 等で画面を表示したときのページクラスの状態 (HTMLの <input> 等にマッピングされていないプロパティの値) を, 画面がサブミットされたとき ( ポストバック ) まで引き継ぐには, ページスコープ を使用します.

ページスコープ を使用するには,引き継ぎたいプロパティに PageScope アノテーションを指定します.

例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
定数アノテーション

ポストバック 時, name プロパティは ページスコープ に追加されます.

関連項目

ポストバック (リダイレクト) 時のページクラスの状態 (プロパティの値) を, リダイレクト表示 まで引き継ぐには, 引き継ぎたいプロパティを, 画面遷移元のページクラスと画面遷移先のページクラスの両方に, 同じ名前と型 で用意します.

例:画面遷移元ページクラスのプロパティ (FooPage.java)
例:画面遷移先ページクラスのプロパティ (BarPage.java)

ポストバック (リダイレクト) 時, 画面遷移元と 画面遷移先のページクラスに共通のプロパティは デフォルトスコープ に追加されます.

注意事項

デフォルトスコープ は実質 サブアプリケーションスコープ であるため, リダイレクト時に引き継いだ状態は, 同じサブアプリケーションの画面を表示している間引き継がれ続けます. この動作が不都合な場合は「 画面遷移の前後だけ状態を引き継ぐには 」を参照してください.

関連項目

ポストバック (リダイレクト) 時のページクラスの状態 (プロパティの値) を, リダイレクト表示 まで引き継ぐが, その後は同じサブアプリケーション内の画面でも引き継がないようにするには, 画面遷移 元 ページクラスのプロパティに RedirectScope アノテーションを指定します.

例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
定数アノテーション

ポストバック (リダイレクト) 時, name プロパティは リダイレクトスコープ に追加されます.

注意事項

リダイレクトスコープ は リダイレクト表示 後に破棄されるため, 再読込を行うと状態は失われます. 再読込で状態を維持する必要がある場合は, 画面遷移 先 ページクラスのプロパティに ページスコープ を指定してください. 詳細は「 画面を表示したときの状態をサブミットされたときまで引き継ぐには 」を参照してください.

関連項目

画面遷移の前後だけでなく,同一のサブアプリケーション内の画面を表示している間, 継続して状態を引き継ぐには, 画面遷移 元 ページクラスのプロパティに SubapplicationScope アノテーションを指定します.

例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
定数アノテーション

画面表示時, name プロパティは サブアプリケーションスコープ に追加されます.

関連項目

ポストバック (リダイレクト) 時のページクラスの状態 (プロパティの値) を, 異なったサブアプリケーションのページに リダイレクト表示 するまで引き継ぐには, 画面遷移 元 ページクラスのプロパティに RedirectScope アノテーションを指定します.

例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
定数アノテーション

ポストバック (リダイレクト) 時, name プロパティは リダイレクトスコープ に追加されます.

注意事項

リダイレクトスコープ は リダイレクト表示 後に破棄されるため, 再読込を行うと状態は失われます. 再読込で状態を維持する必要がある場合は, 画面遷移 先 ページクラスのプロパティに ページスコープ を指定してください. 詳細は「 画面を表示したときの状態をサブミットされたときまで引き継ぐには 」を参照してください.

関連項目

画面遷移 元 のサブミットボタンに TakeOver アノテーションを指定して, 引き継ぎたいプロパティや引き継ぎたくないプロパティを指定します.

例:遷移元ページクラス (FooPage.java)
Tigerアノテーション
定数アノテーション
例:遷移先ページクラス (BarPage.java)

FooPage の doSend() から ポストバック (リダイレクト) で BarPage に画面遷移する場合, foo プロパティのみ引き継がれ, bar および baz プロパティは引き継がれません.

関連項目

サブミットボタンの id 属性を doFinish または doOnceFinish で始まるようにします.

例:テンプレートHTML (foo.html)
]]>
例:ページクラスのメソッド (FooPage.java)

関連項目