使用Spring MVC的JSP EL中的会话属性问题

Mar*_*dou 9 jsp jstl session-variables el spring-mvc

我正在尝试使用JSP EL在jsp页面中显示会话属性"userSession",但它返回null(情况1).但是,请求属性在EL表达式中正确显示.

使用java scriptlet,行为如案例2和3所示:

  1. <c:out value="${userSession}"/> \\返回null
  2. <c:out value='<%=request.getSession().getAttribute("userSession")%>'/> \\工作正常 - 返回会话属性
  3. <c:out value='<%=session.getAttribute("userSession")%>'/> \\抛出异常:无法找到变量会话

案例3的例外可能与案例1问题有关,例如由于某种原因未能识别会话变量以及影响EL表达式的问题.

我正在使用Spring MVC 2.5和JSTL 1.1.2.

我可以发布任何其他澄清问题所需的内容.

Mar*_*dou 12

固定.问题出<%@ page session="false" %>在我的页面使用的include.jsp中找到的指令,我从该全局位置删除了该指令.

它可以防止jsp页面访问会话范围变量.所以只<%=request.getSession().getAttribute("foo")%>适用于那种情况......


Abd*_*aly 9

什么:

<c:out value="${sessionScope.userSession}"/>
Run Code Online (Sandbox Code Playgroud)

要么

<c:out value="${sessionScope['userSession']}"/>
Run Code Online (Sandbox Code Playgroud)

给?