Problem mit Sitzungsattributen in JSP EL unter Verwendung von Spring MVC

8

Ich versuche, ein Sitzungsattribut "userSession" in einer jsp-Seite mit JSP EL anzuzeigen, aber es gibt null zurück (Fall 1). Anforderungsattribute werden jedoch ordnungsgemäß in EL-Ausdrücken angezeigt.

Wenn Sie stattdessen java Scriptlet verwenden, verhält sich das wie in den Fällen 2 und 3:

  1. <c:out value="${userSession}"/> \\ Gibt null zurück
  2. %Code% \\ Funktioniert einwandfrei - gibt das Sitzungsattribut
  3. zurück
  4. %Code% \\ löst Ausnahme aus: kann variable Sitzung
  5. nicht finden

Die Ausnahme von Fall 3 kann mit dem Problem von Fall 1 zusammenhängen, etwas, das aus irgendeinem Grund die Sitzungsvariable nicht erkennt und die den EL-Ausdruck dann beeinflusst.

Ich verwende Spring MVC 2.5 und JSTL 1.1.2.

Ich kann alles weitere veröffentlichen, um das Problem zu klären.

    
Maria Ioannidou 19.01.2011, 01:09
quelle

3 Antworten

9

behoben. Problem war mit einer <%@ page session="false" %> Direktive, die in einem include.jsp gefunden wurde, das von meiner Seite benutzt wurde, die ich von diesem globalen Platz entfernte.

Es verhindert, dass eine jsp-Seite auf Variablen des Sitzungsbereichs zugreifen kann. Also nur <%=request.getSession().getAttribute("foo")%> funktioniert in diesem Fall ...

    
Maria Ioannidou 19.01.2011, 02:22
quelle
8

Was macht:

%Vor%

oder

%Vor%

geben?

    
Abdullah Jibaly 19.01.2011 01:14
quelle
4

<c:out value="${sessionScope}"/> oder nur ${sessionScope} listet alle Attribute im Anwendungsbereich der Portlets auf.

Also, Sie können versuchen, Ihr Attribut mit diesem Ausdruck zu bekommen!

    
Melkior 12.02.2013 13:35
quelle