2016-07-21 11 views
0

Ich benutze Spring Boot mit Thymleaf. Mein Layout besteht aus 3 Zonen, Kopfzeile, Inhalt und Fußzeile.Spring + Thymleaf Header dynamische Daten

In der Kopfzeile möchte ich "Hallo!" Anzeigen, wenn der Benutzer nicht eingeloggt ist, werde ich "Hallo Gast!" Anzeigen.

Wie kann ich den "Benutzernamen" an die Datei header.html senden? Es ist wichtig, diesen Code einmal zu schreiben und überall dort aufgerufen zu werden, wo header.html enthalten ist.

Antwort

0

Sie können das Attribut Thymleafth:with verwenden, um Variablen an Ihre Fragmente weiterzugeben.

So schließe ich mein nav Fragment ein, indem ich einige Daten an das Fragment übergebe.

<div th:include="fragments/nav :: nav" th:with="userLogin='true', view='business'"></div> 

Jetzt in meinem nav Fragment kann ich einfach ${userLogin} oder ${view} verwenden, um die Variablen zuzugreifen.

Hoffe, das hilft.

2

Wenn Sie den Benutzernamen in der Sitzung speichern, können Sie mit einer Sitzungsvariablen auf das Sitzungsobjekt in der Thymeleaf-Vorlage zugreifen. Wenn die Sitzung ein username-Attribut enthält, wird der Wert angezeigt, trotzdem wird von Thymeleaf eine Nullprüfung durchgeführt, wenn das Attribut username nicht im Sitzungsobjekt ist.

<span>Hello</span> 
<span th:text="${session.username}" />