2011-12-16 39 views
0

ページが読み込まれたときにバッキングBeanを初期化する方法がわからない。私はSpringとICEfacesを使用している。ページロード時にのみJSF(ICEfaces)バッキングBeanを初期化する

ICEfacesのバッキングBeanを宣言するために、バッキングBeanにサービスオブジェクトを挿入する必要があるため、Spring注釈@Controllerとel-resolverをfaces.config.xmlで使用します。@ManagedBeanは機能しません。

私は@PostConstructorを使用しますが、アプリケーションの起動時にバッキングBeanが作成されるときに呼び出されます。バッキングBeanが作成されたときではなく、ページが読み込まれるときにバッキングBeanを初期化する必要があります。やって、私は一度だけ初期化する必要があり、事前に

おかげで、私は@Controllerデフォルトを持っている疑いがある私の英語

答えて

0

ために残念れる部分が提出するたびに呼び出されているため

は私のために動作しません。 "singleton"のスコープであり、アプリケーション起動時に初期化されます。最初に参照されたときにBeanを初期化してセッションに残す場合は、@Scope("session")を適用する必要があります。 @PostConstructも適切な時刻に1回呼び出されます。

+0

ありがとうございます。@Scope( "request")を適用しても動作しますが、@PostConstructアノテーション付きメソッドは部分的なサブミット(ajax呼び出し)で実行されます。私はページがajax呼び出しでないときにロードを実行するだけです。 –

+0

@AlexCuervo JSFではなくSpringでBeanを管理したい場合は、http://cagataycivici.wordpress.com/2010/02/17/port-jsf-2-0s-viewscope-to-spring- 3-0 /とそれらにビュースコープを適用する - ただし、JSF2でのみ利用可能です。 – mrembisz

+0

ありがとう!!!!それは完璧に動作します! Springが将来のリリースでこの範囲を紹介してくれることを祈っています –

関連する問題