代码之家  ›  专栏  ›  技术社区  ›  Thomas Adrian

当我作为新用户登录时,用户bean不会更新

  •  1
  • Thomas Adrian  · 技术社区  · 7 年前

    我有一个会话范围的用户bean,它在启动应用程序时将用户数据加载到内存中。用户bean数据在整个应用程序中用于获取数据,例如电子邮件等。

    我注意到,如果我注销,旧的用户数据仍然显示在bean中,并且关闭浏览器没有帮助。

    如何解决此问题?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Peter Della-Nebbia    7 年前

    我运行以下代码在注销时清除sessionscope:

    val = context.getSubmittedValue();
    if (val == "logout") {
        facesContext.getExternalContext().getSession(false).invalidate();
        href=facesContext.getExternalContext().getRequest().getContextPath() + "?Logout&redirectTo=" + facesContext.getExternalContext().getRequest().getContextPath() ;
        facesContext.getExternalContext().redirect(href);
    }