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