Posts

Posts mit dem Label "Thymeleaf" werden angezeigt.

Model-View-Controller mit Spring und Thymeleaf

Bild
Thymeleaf ist eine moderne Template Engine, um Server-seitig html zu generieren. Hier zeige ich, wie es in einem Spring MVC Projekt eingesetzt wird. Dabei demonstriere ich verschiedene Thymeleaf Ausdrücke (if, loop, usw.), Lesen des Modells und Nutzung von CSS oder JavaScript. Model-View-Controller mit Spring und Thymeleaf Betrachten wir das bekannte Design Pattern MVC (siehe auch rest-json-apis-in-java-leicht-gemacht ), dann können wir die einzelnen Bestandteile mit dem hier vorgestellten Technologie-Stack implementieren: Das Modell ( Model ) wird mit einfachen Java Objekten realisiert (POJO). Die Ansicht ( View ) wird mittels Thymeleaf in html, css und JavaScript implementiert. Der Controller wird als Spring Bean vom Typ @Controller umgesetzt. Thymeleaf ( https://www.thymeleaf.org/ ) ist eine Template Engine deren Templates in html geschrieben werden. Dynamische Stellen im html werden dann durch Thymeleaf Ausdrücke definiert. Z.B. blenden wir mit folgendem if -Ausdruck eine Nachrich

Thymeleaf Teil 2 mit Internationalisierung in Spring

Bild
Im 2. Teil meines Spring MVC mit Thymeleaf Artikels geht es um: html Formulare und JavaScript in Templates, Wiederverwendung gleicher html-Blöcke in Thymeleaf und der Internationalisierung (I18N) von Spring Web-Anwendungen. Spring Model-View-Controller mit Thymeleaf und POJOs Den 1. Teil meines Spring MVC mit Thymeleaf Artikels findet ihr hier und auf YouTube: https://agile-coding.blogspot.com/2020/10/spring-mvc-thymeleaf.html Den kompletten Code zu Teil 1 & 2 gibt es hier bei GitHub: https://github.com/elmar-brauch/thymeleaf Wiederverwendung von gemeinsamen html Blöcken Das berühmte Clean Code Prinzip ( Clean Code von Robert Martin ) "Don't repeat yourself" gilt nicht nur für Java-Code. Es gilt für alle selbst geschriebenen Artefakte. Wenn wir für 10 verschiedene html Seiten Thymeleaf Templates erstellt haben, sollten wir unbedingt vermeiden per Copy & Paste den Header, Footer oder ähnliches überall zu duplizieren. Damit wir es nicht an 10 Stellen anpassen müssen