我需要将一些数据存储到用户会话中。通常我会用它getSessionMap().put()
来解决这个问题。我的问题是,我需要在sessionCreated()
sessionListener 的 -void 中执行此操作,但此时 FacesContext 仍然为空。所以下面的代码会生成一个 NullPointerException。
@Override
public void sessionCreated(HttpSessionEvent arg0) {
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("data", "something");
}
是否有另一种方法可以将数据存储到会话中,或者我可以手动初始化 FacesContext 的实例?不幸的是,我对 jsf 生命周期了解不多。
谢谢你的帮助!