|
||||||||
| 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 次のページ |
||||||||
|
|
||||||||
|
||||||||
|
|
||||||||
|
||||||||


