我正在尝试使用OGNL来评估会话是否有效,以便显示一些信息。为此,我有以下JSP
[...]
<s:if test="request.isRequestedSessionValid()">
[...] (show user name, etc)
</s:if>
但它不起作用。我也尝试了“#request.isRequestedSessionValid()”,“%{request.isRequestedSessionValid()}”和“{request.isRequestedSessionValid()}”,但我总是收到一条错误消息target java.lang.NullPointerException:target方法isRequestedSessionValid或[OgnlValueStack]的null为null无法找到方法[#request.isRequestedSessionValid()]。我做错了什么?
谢谢!
答案 0 :(得分:0)
好的,既然我已经有机会深入研究这个问题了,那我就扔掉了旧答案。 #request
将不起作用,因为它基本上等同于JSP EL表达式${requestScope.requestedSessionIdValid}
,但该属性不是请求范围属性,它是HttpServletRequest
的实际属性。 / p>
您可以使用JSP ELZ轻松完成此操作:
<c:if test="${pageContext.request.requestedSessionIdValid}">
...
</c:if>
我不知道有一个同样简洁的方法来与OGNL达成协议。