使用Spring MVC的JSP EL中的会话属性问题
问题内容:
我试图使用JSP EL在jsp页面中显示会话属性“ userSession”,但它返回null(情况1)。但是,请求属性在EL表达式中正确显示。
相反,使用Java scriptlet的行为如情况2和3所示:
<c:out value="${userSession}"/>
\\返回null<c:out value='<%=request.getSession().getAttribute("userSession")%>'/>
\\工作正常-返回会话属性<c:out value='<%=session.getAttribute("userSession")%>'/>
\\抛出异常:找不到变量会话
情况3的异常可能与情况1的问题有关,例如由于某种原因无法识别会话变量,从而影响EL表达式。
我正在使用Spring MVC 2.5和JSTL 1.1.2。
我可以发布其他任何需要澄清的问题。
问题答案:
固定。问题出<%@ page session="false" %>
在我的页面使用的include.jsp中找到的指令,该指令已从该全局位置中删除。
它防止jsp页面访问会话范围变量。因此仅<%=request.getSession().getAttribute("foo")%>
在这种情况下有效…