Struts2 ognl执行请求方法

时间:2010-11-18 19:57:37

标签: methods struts2 request execute ognl

我正在尝试使用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()]。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,既然我已经有机会深入研究这个问题了,那我就扔掉了旧答案。 #request将不起作用,因为它基本上等同于JSP EL表达式${requestScope.requestedSessionIdValid},但该属性不是请求范围属性,它是HttpServletRequest的实际属性。 / p>

您可以使用JSP ELZ轻松完成此操作:

<c:if test="${pageContext.request.requestedSessionIdValid}">
    ...
</c:if>

我不知道有一个同样简洁的方法来与OGNL达成协议。