1

Websphere ポータル環境でいくつかの JSF ポートレットを実行しています。開発者は、すべてのポートレットがアクセスできるように、共有ライブラリに存在するユーティリティ jar を作成したいと考えています。この jar では、静的メソッドを持つ Faces ユーティリティ クラスが必要です。このメソッドは、現在の FacesContext インスタンスにアクセスし、そのコンテキストのセッション マップを返します。

これが賢明なアプローチであるかどうか、および正しいコンテキスト インスタンスが各ポートレット インスタンスに確実に返されることをどのように確認するかについて、いくつかの議論が行われてきました。良くも悪くも、これを行った経験はありますか?

4

1 に答える 1

1

FacesContext.getCurrentInstance()は、リクエストに関連付けられたアーティファクトをカプセル化します。コンテキストはスレッド ローカルです。リクエストの開始時に設定され、最後にコントローラとして機能するポートレットによって破棄されます。したがって、コードがリクエストの一部として呼び出されることを保証できる限り、問題はありません。呼び出しが要求スレッドをエスケープすると、問題が発生します。

于 2009-12-11T00:28:47.680 に答える