0

Tomcat 7.0.34 で実行されているバックエンド サービスを備えた単純な JSF WebApp があります。

UI コンポーネントをレンダリングするためのデータ モデルの処理を担当する JSF ManagedBean がある場合、バックエンド サービスはどのようにしてデータ モデルの変更を JSF に通知できますか?

私は基本的に、バックエンド サービスから ApplicationScoped JSF ManagedBeam への参照を取得する方法を理解しようとしていますが、可能ではないようです。

ManagedBean がデータモデルの変更を検出するためにバックエンド サービスをポーリングするポーリング メカニズムの使用は避けたいと思います。

必要に応じてサンプルコードを提供できます..

ありがとう

4

2 に答える 2

0

私はこれに反対することをお勧めします。マネージド Bean がある種のリスナー実装をサービスに追加し、そのように通知される方が理にかなっています。適切な設計では、バックエンド サービスはマネージド Bean の存在を認識しません。

それでもこれを行いたい場合は、jsf 自体ではなく、Spring で jsf マネージド Bean を管理するようにします。次に、(アプリケーション スコープの!) マネージド Bean をサービスに注入するだけです。

Bean に Spring を使用するには、Spring リゾルバーを Faces-config に追加する必要があります。

<el-resolver>
  org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
于 2013-06-20T09:52:25.523 に答える