何にFacesContext
使われますか?
そして、それは正確にどこに実装されていますか?
JSF 2.0 仕様の 6.1 章からの引用:
FacesContext
JSF は
javax.faces.context.FacesContext
、着信要求の処理に関連するすべてのコンテキスト情報を表し、対応する応答を作成するための抽象基本クラスを定義します。インスタンスは、セクション 6.6「FacesContextFactory」で説明されているように、リクエスト処理ライフサイクルを開始する前に、 のメソッドを
FacesContext
呼び出すことによって、JSF 実装によって作成されます。getFacesContext
FacesContextFactory
リクエスト処理のライフサイクルが完了すると、JSF 実装は release メソッドを呼び出します。これにより、JSF 実装は取得したリソースを解放し、リクエストごとに新しいインスタンスを作成するのではなく、FacesContext インスタンスをプールしてリサイクルする機会が与えられます。
これは、 classjavax.faces.context.FacesContext
および Mojarra で実装された classcom.sun.faces.context.FacesContextImpl
および MyFaces で実装された class で指定されorg.apache.myfaces.context.servlet.FacesContextImpl
ます。
FacesContext の新しいインスタンスは、新しいリクエストごとに作成されます。FacesContext の主なタスクは、関連付けられている特定のリクエストに関するすべての情報を提供することです。例: 特定の検証または変換の失敗後にメッセージを追加するには、メッセージを FacesContext に追加するだけで、最終的に目的のメッセージが画面に表示されます。また、呼び出すことで、いつでも JSF ライフサイクルを確認して停止することもできます。
FacesContext.responseComplete();