CDIを使用した当初は、faces-redirect = trueを使用して、長時間実行中の 会話がアクティブなページに移動しています。したがって、..myPage.xhtml?cid = 1のようなURLがあります。CDI/Weld - 会話を終了した後にブラウザページの更新を処理する方法は?
ある時点で、私は会話を終了します。これは を行うには合理的なものでなければならないことを意味しますか、セッションスコープを使用することもできますか?とにかく、私は会話を終了し、 ユーザーがF5を押すと、もちろん、これはcid = 1として '会話が見つかりません'というエラーを引き起こします。 は存在しません。
誰もこの問題を回避する方法を提案できますか?私はSteven Verborgh ViewScoped実装を使用しています。単純に対話スコープBeanを使用して、ページ間にパラメータ を渡します。だから私は例2の@ViewScoped Beanを持っています。それぞれは後ろのページ1になります @ Viewversoped Beanに@ConversationScoped ParameterBeanを挿入します。 ページ1から呼び出されたアクションメソッドで、 会話(parameterBean.getConversation()。begin())を開始します.2ページのpreRenderViewイベントでは、 というプロパティの参照をページ2のバッキングビーンインスタンス変数を使用して会話を終了すると、 は完了しており、もはや必要ありません。
F5の問題を除いて、問題なく動作します。もし誰かが私にそれを感謝したい提案があれば、 うまくいけば私は本当に明白な何かを逃していない。私はリダイレクトから を取得していないと想定しています。
ありがとうございました。