0

さまざまなビューを指すアイテムを含むメニューがあります。

各ビューには、リスナーが接続された選択コンボボックスがあります。

そのビューでは、セッションスコープのマネージドBeanを使用します。

初めてビューに移動すると、Beanの作成時にメソッドが呼び出されます。ユーザーが選択ボックスから値を変更すると、同じメソッドが呼び出されます。ただし、ビューが再表示されたときにメソッドは呼び出されません。

これは、セッションスコープのBeanを使用しているために発生します。より良い解決策は、代わりにビュースコープのBeanを使用することでしたが、私は別の方法を探しています。ビューが変更されたときに特定のコードを実行する方法はありますか?

4

1 に答える 1

2

リスナーメソッドをイベント<f:event>にアタッチする場所で使用できます。preRenderView

例えば

<f:event type="preRenderView" listener="#{bean.preRenderView}" />

public void preRenderView() {
    // ...
}

これは、レンダリング レスポンス フェーズの開始時に毎回呼び出されます。

于 2012-08-14T14:34:10.393 に答える