【问题标题】:Session variable access with out session recreation没有会话重新创建的会话变量访问
【发布时间】:2011-03-24 11:38:47
【问题描述】:

如何在 jsp 页面中访问没有 session="true" 标记的会话变量..?或者没有重新创建会话。?

【问题讨论】:

    标签: java jsp session


    【解决方案1】:

    你能收到你的请求吗?

    在你的jsp页面中使用:

    <%
        Object obj = request.getSession().getAttribute("STRING");
    %>
    

    希望对你有帮助

    【讨论】:

    • 如果不存在,它将创建一个新会话,您需要使用getSession(false) 并检查null
    【解决方案2】:

    只需使用 EL。

    ${sessionAttributeName}
    

    如果会话被创建,它只会在会话范围内扫描。另见javadoc

    或者如果你真的坚持使用老式的scriptlets,那么在尝试访问属性时不要创建会话。你可以通过HttpServletRequest.getSession(boolean)false 做到这一点。如果之前没有创建会话,它将返回null

    HttpSession session = request.getSession(false);
    if (session != null) {
        Object sessionAttribute = session.getAttribute("sessionAttributeName");
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 1970-01-01
      • 2019-05-04
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 2011-12-29
      • 1970-01-01
      相关资源
      最近更新 更多