Thymeleaf Java-Tutorial: Methoden, Beispiele & Installation

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Thymeleaf und warum wird es benötigt?

Thymeleaf ist eine moderne serverseitige Template-Engine für Java-Anwendungen, die zur Generierung von HTML, XML, JavaScript, CSS und Textdateien entwickelt wurde. Im Gegensatz zu JSP (JavaServer Pages) bietet Thymeleaf eine sauberere, lesbarere und natürlichere Syntax, die sowohl für Entwickler als auch für Designer leicht verständlich ist.

Der Hauptvorteil von Thymeleaf liegt darin, dass seine Vorlagen gültige HTML-Dokumente sind. Das bedeutet, Sie können eine Vorlage im Browser öffnen, ohne den Server zu starten, und ihre Struktur sehen. Dynamische Daten werden über spezielle Attribute eingefügt, die mit dem Präfix th: beginnen.

Thymeleaf lässt sich hervorragend in das Spring Framework (insbesondere Spring Boot) integrieren, kann aber auch als eigenständige Bibliothek verwendet werden. Es unterstützt Layouts, Fragmente, Bedingungen, Schleifen, Formularverarbeitung, Internationalisierung (i18n) und vieles mehr.

Thymeleaf Installation

Da Thymeleaf eine Java-Bibliothek ist, wird sie über Abhängigkeitsverwaltungssysteme wie Maven oder Gradle installiert. Ein Äquivalent zu pip install gibt es für Java nicht.

Installation mit Maven (pom.xml)

<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

Installation mit Gradle (build.gradle)

implementation 'org.thymeleaf:thymeleaf:3.1.2.RELEASE'

Für Spring Boot (empfohlen)

Wenn Sie Spring Boot verwenden, fügen Sie einfach den Starter hinzu:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot konfiguriert Thymeleaf automatisch mit sinnvollen Standardeinstellungen.

Schnellstart mit Codebeispiel

Erstellen wir eine einfache Konsolenanwendung, die Thymeleaf zur HTML-Generierung verwendet.

Schritt 1: Vorlage erstellen (src/main/resources/templates/hello.html)

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hallo Thymeleaf</title>
</head>
<body>
    <h1 th:text="${message}">Standardnachricht</h1>
    <p>Aktuelles Datum: <span th:text="${#dates.format(#dates.createNow(), 'dd-MM-yyyy')}">01-01-2024</span></p>
</body>
</html>

Schritt 2: Java-Code zur Verarbeitung der Vorlage schreiben

import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;

public class ThymeleafSchnellstart {
    public static void main(String[] args) {
        // 1. Template-Resolver konfigurieren
        ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
        resolver.setPrefix("/templates/");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML");

        // 2. Template-Engine erstellen
        TemplateEngine engine = new TemplateEngine();
        engine.setTemplateResolver(resolver);

        // 3. Kontext mit Daten erstellen
        Context context = new Context();
        context.setVariable("message", "Hallo, Thymeleaf!");

        // 4. Vorlage verarbeiten
        String result = engine.process("hello", context);
        
        System.out.println(result);
    }
}

Ausgabe:

<!DOCTYPE html>
<html>
<head>
    <title>Hallo Thymeleaf</title>
</head>
<body>
    <h1>Hallo, Thymeleaf!</h1>
    <p>Aktuelles Datum: <span>15-03-2024</span></p>
</body>
</html>

Wichtige Thymeleaf-Methoden und Funktionen

1. th:text — Textausgabe

Empfehlungen