JSFページのライフサイクルは多くのWebページのライフサイクルに類似しています。クライアントはHTTPリクエストを作成します。アプリケーション・サーバーはこのリクエストを受け取って処理し、HTMLで返します。ただし、JSFライフサイクルは、サーバーでUIコンポーネント・ツリーを管理し、イベントも制御して状態の変更を処理します。
UIコンポーネント・ツリーは、JSFページのランタイム表示です。つまり、ページ内の各UIコンポーネント・タグは、このツリーのUIComponentインスタンスに対応しています。JSFライフサイクルでは、このコンポーネント・ツリーを使用して、アプリケーション・リクエストを処理し、レンダリングされたレスポンスを作成します。リクエストとレスポンスのタイプに応じて、JSFでは、リクエスト処理ライフサイクルの異なるフェーズで様々なタスクを実行し、(レンダー・レスポンス・フェーズで)レンダリングするページ(コンポーネント・ツリー)のビューを作成します。
JSFライフサイクル・フェーズの概要は次のとおりです。
FacesContext
インスタンスにアクセスできます。新規の空のツリーの場合、このライフサイクルは、レンダー・レスポンス・フェーズに直接進みます。
immediate
属性がtrue
に設定されている場合は、このフェーズ中に、このコンポーネントに関連付けられている検証、変換およびイベントが処理されます。
FacesContext
にキューイングされます。
JSFアプリケーションのリクエスト処理ライフサイクルは、サーブレットのFacesServlet
によって管理されます。FacesServlet
は、リクエスト処理に必要な情報を含むFacesContext
というオブジェクトを作成します。JSFアプリケーションでサポートされるリクエストとレスポンスのタイプは次のとおりです。
JSFライフサイクルでは、最初のリクエストおよびポストバック・リクエストもサポートされます。JSFページが最初にリクエストされると、JSFは、新規の空のコンポーネント・ツリーを構築してFacesContext
インスタンスに保存し、レンダー・レスポンス・フェーズに直接進みます。ポストバック・リクエストの場合、JSFは、クライアントまたはサーバーに保存されている状態情報を使用してビューをリストアします。
ライフサイクル・フェーズの詳細およびJSFページで可能なライフサイクルの例は、次の外部資料を参照してください。
javax.faces.context.FacesContext
のJavadoc
イベントおよびJSFライフサイクルについて
変換および検証プロセスについて
Copyright © 1997, 2007, Oracle. All rights reserved.