関連するメニューリンクを使用して関連ページを開くたびにnullにリセットする必要があるバッキングBeanの変数があります。関連するメニューリンクをクリックするたびにバッキングBeanに初期化コードを実行する方法はありますか? Contructorは、メニューリンクが初めてクリックされたときにのみ実行されます。私は、そのbeanがjsfコンテキストに保持され、再作成されないと思います。メニューリンクがクリックされるたびにそのバッキングBeanの新しいオブジェクトが作成されるようにする方法はありますか?ありがとう!バッキングビーンの初期化
0
A
答えて
1
リクエストスコープにBeanを置くことはできませんか?
もう1つのオプションは、メニューでsetpropertyactionlistenerを使用することです。メニューがクリックされたら、値を "null"に設定します。
1
次のオプションがあります。
1。 BeanをリクエストスコープのBeanに変更してください。
2。リンクがクリックされるたびに初期化コードを実行するために、バッキングBeanのメソッドを呼び出すためにaction
属性を使用して、このような何か:
<h:commandLink action="#{myBean.init}" value="My Link" />
そしてmyBean.init()
は、初期化コードをあなたの応答のための
関連する問題
- 1. が初期化
- 2. collectionViewLayout初期化
- 3. 初期化が
感謝が含まれています。私はそれを "request"スコープに変更しようとしましたが、いくつかの検証メッセージは表示されません(理由を見る必要があります)。それ以外は、action = "#{managedbean.init}"を使用したときとは別に、 "viewexpired"例外をスローして、ページが読み込まれる前に関連するメニュー項目をクリックすると、アドレスバーに別のリンクを表示します。他のメニュー項目をクリックしてこのリンクをクリックすると、適切に開きます。 –