0

我正在尝试使用 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 找不到方法 [#request.isRequestedSessionValid()]。我究竟做错了什么?

谢谢!

4

1 回答 1

0

好的,现在我有机会更深入地研究这个问题,我正在抛弃我的旧答案。#request不起作用,因为这基本上相当于 JSP EL 表达式${requestScope.requestedSessionIdValid},但该属性不是请求范围属性,它是HttpServletRequest.

您可以使用 JSP EL 轻松做到这一点:

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

我不知道 OGNL 是否有同样简洁的方法来解决这个问题。

于 2010-11-18T20:48:21.350 回答