JSFページのライフサイクルについて

JSFページのライフサイクルは多くのWebページのライフサイクルに類似しています。クライアントはHTTPリクエストを作成します。アプリケーション・サーバーはこのリクエストを受け取って処理し、HTMLで返します。ただし、JSFライフサイクルは、サーバーでUIコンポーネント・ツリーを管理し、イベントも制御して状態の変更を処理します。

UIコンポーネント・ツリーは、JSFページのランタイム表示です。つまり、ページ内の各UIコンポーネント・タグは、このツリーのUIComponentインスタンスに対応しています。JSFライフサイクルでは、このコンポーネント・ツリーを使用して、アプリケーション・リクエストを処理し、レンダリングされたレスポンスを作成します。リクエストとレスポンスのタイプに応じて、JSFでは、リクエスト処理ライフサイクルの異なるフェーズで様々なタスクを実行し、(レンダー・レスポンス・フェーズで)レンダリングするページ(コンポーネント・ツリー)のビューを作成します。

JSFライフサイクル・フェーズの概要は次のとおりです。

JSFアプリケーションのリクエスト処理ライフサイクルは、サーブレットのFacesServletによって管理されます。FacesServletは、リクエスト処理に必要な情報を含むFacesContextというオブジェクトを作成します。JSFアプリケーションでサポートされるリクエストとレスポンスのタイプは次のとおりです。

JSFライフサイクルでは、最初のリクエストおよびポストバック・リクエストもサポートされます。JSFページが最初にリクエストされると、JSFは、新規の空のコンポーネント・ツリーを構築してFacesContextインスタンスに保存し、レンダー・レスポンス・フェーズに直接進みます。ポストバック・リクエストの場合、JSFは、クライアントまたはサーバーに保存されている状態情報を使用してビューをリストアします。

ライフサイクル・フェーズの詳細およびJSFページで可能なライフサイクルの例は、次の外部資料を参照してください。


ADFデータ・コントロールを使用したJSFページのライフサイクルについて
イベントおよびJSFライフサイクルについて
変換処理および検証処理について