【问题标题】:Not able to retrieve Session attributes in JSP无法在 JSP 中检索 Session 属性
【发布时间】:2026-01-12 13:55:01
【问题描述】:

我有基于 JSF 1.2 的 Servlet。我在我的Servlet 的bean 中设置Session 属性。 Bean 在请求范围内。在这个Servlet 中有一个链接。单击此链接时,它会调用另一个Servlet。这第二个 Servlet 不是基于 JSF。它只包含一个 JSP 页面来显示数据。我试图通过检索在第一个Servlet 中设置的Session 属性来在此JSP 中显示数据。但是,在 JSP 页面中得到的数据是null。两个 Servlet 中的会话 ID 相同。我的 JSP 页面中有以下相关代码。

<%@page language="java" session="true" %>
<%@page session="true" %>
 session = request.getSession();
 String userName = (String)session.getAttribute("uname");

下面是在bean中设置Session属性的方式

HttpSession session = null;
    HttpServletRequest req = null;
    req = (HttpServletRequest) PolicyContext.getContext("javax.servlet.http.HttpServletRequest");
    session = req.getSession();
session.setAttribute("uname", this.uname);

【问题讨论】:

    标签: jsp session jsf-1.2


    【解决方案1】:

    尝试使用EL 检索您的会话属性。例如:

    ${sessionScope['uname']}
    

    【讨论】:

    • 我试过 。他们都没有工作!
    • 还有一件事。调用某些操作时,会在 bean 中设置会话属性。在此之后,用户有许多页面要导航。最后,他将在第 2 个 Servlet 中结束,在第 1 个 Servlet 的 bean 中设置的 Session 属性被尝试显示在 JSP 页面中