- 背景:
ファイルのアップロード時にリッスンするアップロード方式のバッキングBeanを持っています。ここで、このファイルをパーサーに渡し、パーサーでcsvファイルに存在する行の検証チェックを実行しています。
検証に失敗した場合は、情報をログに記録し、データベースのログテーブルに保存する必要があります。
- 私の最終目標:
ロギングBeanでセッション情報を取得して、データベースにデータを保存するinitialContext
ための呼び出しを取得して呼び出すことができるようにすることです。ejb
- 何が起こっているのか:
アップロードバッキングBeanでセッションを取得していますが、パーサーを個別に単体テストするため、パーサーをセッションに依存させたくないため、パーサーを呼び出すときにセッション情報を渡しません。
したがって、私のパーサーには、session
パーサーが呼び出している情報がありませんlogging bean(just a bean with some ejb methods)
が、このロギングBeanでは、取得する必要があるため、セッションが必要ですinitial context
。
質問
- JSFには、自分の中にあるものを
session
自分の中に入れる方法はありますか?logging bean
upload backing bean
私はやってみました:
FacesContext ctx = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) ctx.getExternalContext().getSession(false);
しかし、session
値はでしたnull
、より一般的な質問は次のようになります:
- セッションがあるバッキングBeanから参照されるモデルBeanまたは他のBeanのセッション情報を取得するにはどうすればよいですか?
- JSFアプリケーション全体でセッション情報にアクセスできる一般的なメソッドがjsfにありますか?