TOP
>
システム開発
> JSFのライフサイクル
JDeveloperで学ぶJSF入門
第3回:JSFのライフサイクルとStrutsとの比較
著者:
WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:
山田祥寛
2006/7/27
1
2
次のページ
JSFのライフサイクル
一般的なWebアプリケーションでは、クライアントからのHTTPリクエストを受信してから、入力値の受付、入力値の検証、データ処理、画面生成など、一連のフローが存在します。JSFでは、この処理順序を
ライフサイクル
として定義しています。それぞれの処理単位は「フェーズ」と呼ばれます。JSFを正しく使いこなしていくうえで、このライフサイクルの知識は、必要不可欠なものです。
ライフサイクルは6つのフェーズからなり、次の順で実行されます(図1)。
図1:JSFのライフサイクル
1. Restore Viewフェーズ
ページのコンポーネントのビュー(UIViewRoot)を作り上げて、FacesContextに格納します。初めてのアクセスの場合は空のビューが生成されます。JSFページからの要求の場合は、クライアントもしくはサーバーにビューの状態が格納されているので、それを用いてビューが復元(restore)されます。
2. Apply Request Valueフェーズ
クライアントからの送信値が、Restore Viewフェーズで復元(restore)されたコンポーネントに反映されます。具体的にはビューの各コンポーネントに実装されたdecode()メソッドが呼び出され、各コンポーネントに値が反映されます。
3. Process Validationフェーズ
コンポーネントに登録されたすべてのバリデータが実行されます。
4. Update Model Valueフェーズ
コンポーネントの値がマネージドBeanに反映されます。
5. Invoke Applicationフェーズ
ボタンやリンクに関連づけられたアクションイベントが処理されます。
6. Renderer Responseフェーズ
各コンポーネントのencode系メソッドが呼び出されて、レスポンスが生成されます。レンダリングが終了するとコンポーネントの状態がクライアント、もしくはサーバーに保存されます。
1
2
次のページ
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛
WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
INDEX
第3回:JSFのライフサイクルとStrutsとの比較
JSFのライフサイクル
Strutsとの比較