2012-04-10 31 views
11

JSFについての私の理解はまだまだ浅いです。JSF 2.0 RenderResponseとResponseComplete

私は、ドキュメントを読んで、あなたはショートへのライフサイクルを可能にRenderResponseとResponseCompleteがあるFacesContext

のjavadocのあたりのようにしています。

私は現在混乱しています。実際の状況では、もう一方をいつ使用しますか?

おかげ

答えて

25

使用FacesContext#renderResponse()あなたは今、応答のレンダリングフェーズに前進したい場合。これは、検証段階で実行される値変更リスナーハックと組み合わせて頻繁に表示され、更新モデル値をスキップしてアクションフェーズを呼び出す必要があります。

自分でを処理したことをJSFに通知するために、JSFはレスポンスをレンダリングする必要がないことを通知するためにFacesContext#responseComplete()を使用します。レスポンスにファイルのダウンロードを書き込む、バッキングアクションメソッドと組み合わせて、これをよく見ます。これにより、JSFはレンダリングされたHTMLのコンテンツをダウンロードしてファイルをダウンロードしないようにします。このコンテンツは破損したダウンロードや不正な状態の例外に終わる可能性があります。

関連する問題