2016-07-18 36 views
0

Ich versuche, Sitzungsattribut in Geschwindigkeit Vorlage, Spring Boot , aber ich kann nicht Sitzungsattribut.erhalten Sitzungsattribut in Geschwindigkeit Vorlage

$!request.getParameter('user') 
$request.getParameter('user') 
#set ($user = $request.get('user')) 
$user 
$session.geAttribute('user') 
$request.getSession().getAttribute('user') 

Ich versuche Thesen zu verwenden .. aber ich nicht richtig Wert bekommen konnte.

Wie kann ich Sitzungsattribut in Velocity bekommen?

+0

Wie hast du die Geschwindigkeit konfiguriert? – aksappy

+0

@aksappy Application.properties 'spring.velocity.content-type = text/html; charset = UTF-8 spring.velocity.expose-Session-Attribute = true spring.velocity.expose-Anfrage-Attribute = true' – Saveyourself

Antwort

0

Wenn Sie die VelocityViewServlet von anschlag Tools verwenden, die ganze folgende:

$session_attr 
$session.getAttribute("session_attr") 
$request.getSession().getAttribute("session_attr") 
$request.session.getAttribute("session_attr") 

funktionieren sollte.

Sie können versuchen, zu überprüfen, was in der Sitzung mit dem folgenden Codefragment ist:

<ul> 
    #foreach($name in $session.getAttributeNames())  
     <li> $name = $session.getAttribute($name) </li> 
    #end 
</ul> 
+0

Im Filter kann ich Session-Wert 'System.out.println (req.getSession(). getAttribute (" Benutzer "));' aber in Geschwindigkeit Vorlage, noch, ich kann nicht bekommen Wert. – Saveyourself

+0

Können Sie das Objekt 'user' explizit in den Velocity-Kontext einfügen und prüfen, ob das Objekt richtig aufgenommen wird. Ich sehe kein Problem in der angegebenen Konfiguration. – aksappy

0

Sie würden besser Sitzungsattribute im Modus aussetzen, so können Sie benutzerdefinierte VelocityViewResolver und setExposeSessionAttributes wahr ist