SessionScoped
リダイレクト間でオブジェクトを維持するにはどうすればよいですか? Stateless
Beanにアクセスするメイン ページがあります。
また、特定のパスへのリダイレクト ( FacesContext.getCurrentInstance().getExternalContext().redirect("/to/my/sevlet");
) を実行するボタンもあり、これによって webservlet が呼び出されます。Webサーブレット自体は条件ベースの応答を作成しますが、現時点では問題ありません。
問題は、サーブレットにリダイレクトされると、ステートレス Bean の初期アクセス時に設定されたセッション スコープの Bean プロパティが失われることです。
ページの切り替え/リダイレクト間でセッションスコープを維持するにはどうすればよいですか?
@Stateless
class myStateless {
@Inject
MySessionBean sessionBean;
private doSomething() {
sessionBean.setSessionProperty(true);
}
}
@SessionScoped
class MySessionBean {
Boolean sessionProperty = false;
}
@WebServlet
class MyWebServlet {
doGet(..) {
out.println("session property status is" + String.valueOf(sessionBean.isSessionProperty()); //always false
}
}