2010-11-18 8 views
0

Ich versuche OGNL zu verwenden, um zu bewerten, ob die Sitzung gültig ist, um einige Informationen anzuzeigen. Dafür habe ich folgende JSPStruts2 ognl Anfrage ausführen Methode

[...] 
<s:if test="request.isRequestedSessionValid()"> 
[...] (show user name, etc) 
</s:if> 

Aber es funktioniert nicht. Ich habe auch versucht "# request.isRequestedSessionValid()", "% {request.isRequestedSessionValid()}" und "{request.isRequestedSessionValid()}", aber ich bekomme immer eine Fehlermeldung target java.lang.NullPointerException: target ist null für die Methode isRequestedSessionValid oder [OgnlValueStack] Methode [# request.isRequestedSessionValid()] konnte nicht gefunden werden. Was mache ich falsch?

Danke!

Antwort

0

Okay, jetzt, wo ich die Möglichkeit hatte, tiefer in das Thema zu schauen, werfe ich meine alte Antwort raus. #request wird nicht funktionieren, weil das im Grunde das Äquivalent des JSP-EL-Ausdrucks ${requestScope.requestedSessionIdValid} ist, aber diese Eigenschaft keine Anforderungsbereichseigenschaft ist, ist eine tatsächliche Eigenschaft der HttpServletRequest.

Sie können dies leicht mit JSP EL mit:

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

Ich weiß nicht, dass es eine ebenso prägnante Art und Weise ist dies mit OGNL zu bekommen.

+0

Scheint nicht zu funktionieren. Ich habe versucht "% {# request.requestedSessionIdValid}", "% {# request.isRequestedSessionIdValid}" und "% {# request.isRequestedSessionIdValid()}", aber nichts hat funktioniert. Der letzte gab mir diese Ausnahme "[OgnlValueStack] Konnte Methode [# request.isRequestedSessionIdValid()] nicht finden", die ich nicht verstehe. Die Anfrage hat diese Methode, warum also nicht? –

Verwandte Themen