私は、検証などのビジネスロジックを実行するマネージセッションスコープ付きBeanを持つJSF 2.0アプリケーション(App#1)を持っています。Continueボタンをクリックすると、別のプレーンhtmlフォームページユーザーに表示され、このページの[送信]ボタンをクリックすると、フォームが別のアプリケーション(App#2)に送信されます。 App#2の処理後、App#3のページがUserに表示されます。これはすべて[同じブラウザ]タブで行われます。別のアプリケーションでセッションスコープのマネージドBeanを削除する
App#3(これもJSF 2.0アプリケーションです)では、App#1のセッションスコープBeanを削除したいと思います。それ、どうやったら出来るの?私は以下のオプションを試しましたが、どれも動作していないようです。
//First approach
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("app1Bean");
私はここでも上記のコード行
//second approach
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(true);
session.removeAttribute("app1Bean");
ヌルにnullを取得しています。
Nullとは何ですか? – Thor
申し訳ありませんが、コードが明確でない場合は、コードにSysoutを入れて、(FacesContext.getCurrentInstance()。getExternalContext()。getSessionMap()。get( "app1Bean")== null){System.out.println ( "app1Bean is null");}このSysoutはコンソールに表示されます – user972391
これらのアプリケーションはサーバー上で同じセッションを使用するように構成されていますか?そうではないように聞こえますが、確かにあなたには分かりませんでした。 – BalusC