[JAVA] So standardisieren Sie die Kopfzeile in Thymeleaf

Überblick

So standardisieren Sie die Kopf- und Fußzeile jeder HTML-Seite in einer Webanwendung, die mit Spring Boot und Thymeleaf erstellt wurde

Umgebung

Stichprobe

Verzeichnisaufbau

Ich werde die Java-Seite weglassen, aber die Anordnung von Vorlage und statischem Inhalt sieht so aus.

dir


src/main/resources
├── static
│   ├── css
│   │   ├── common.css
│   │   └── top.css
│   └── js
│       └── datepicker.js
└── templates
    ├── common.html
    └── index.html

Wenn Spring Boot unter "Vorlagen" auf CSS- oder JS-Dateien aus HTML verweist, Da static das Stammverzeichnis ist, ist es wie folgt konfiguriert.

Erstellen Sie common.html für gemeinsame Teile

common.html


<html xmlns:th="http://www.thymeleaf.org">
<!-- (1)Fragmentieren Sie den Kopf, den Sie teilen möchten-->
<head th:fragment="meta_header(title,links,scripts)">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- (2)CSS gemeinsam zu lesen/JS -->
    <link rel="stylesheet" href="/css/common.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <!-- (3)Titelformat-->
    <title th:text="${title}+' | sample app'">Jeder Seitentitel| sample app</title>

    <!-- (4)Was wird in jeder Ansicht eindeutig gelesen-->
    <th:block th:replace="${links} ?: _" />
    <th:block th:replace="${scripts} ?: _" />
</head>
<body>
    <!-- (5)Fragmentieren Sie die Teile, die Sie im Körper standardisieren möchten-->
    <header th:fragment="header">
        <h1><a th:href="@{'/'}">sample app</a></h1>
    </header>
</body>
</html>

Kommentar

(1) Da der Fragmentname ein Argument annehmen kann, setzen Sie "title, links, scripts" als Argument. (2) Beschreiben Sie das CSS / JS, das auf jeder Seite gemeinsam gelesen wird. (3) Setzen Sie das Seitentitelformat mit dem Argumenttitel auf th: text =" " (4) Fügen Sie das auf jeder Seite gelesene CSS / JS mit "th: replace" ein Wenn bei Verwendung des unverarbeiteten Tokens (?: _)$ {links}null ist, fehlt th: block selbst. (5) Wenn es etwas gibt, das Sie im Körper gemeinsam machen möchten, verwenden Sie "th: fragment", um es zu einem Teil zu machen.

Rufen Sie auf jeder HTML-Seite

index.html


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<!-- (1)Durch gemeinsamen Header ersetzen-->
<head th:replace="common :: meta_header('top',~{::link},~{::script})">
    <!-- (2)CSS, das für diese Seite eindeutig geladen werden soll/JS -->
    <link rel="stylesheet" th:href="@{/css/top.css}" />
    <script type="text/javascript" th:src="@{/js/datepicker.js}"></script>
</head>
<body>
    <!-- (3)Nennen Sie gemeinsame Teile-->
    <div th:replace="common :: header"></div>
    <h2>top page</h2>
</body>

Kommentar

(1) Ersetzen Sie "header" durch den in "common.html" definierten, indem Sie ein Argument übergeben. (2) Definieren Sie eine Datei, die eindeutig auf dieser Seite gelesen werden soll (index.html in diesem Beispiel). (3) Ersetzen Sie gemeinsame Teile durch th: replace =" Seitenname :: Fragmentname "

Referenz

So standardisieren Sie Kopf- und Fußzeilen in Spring Boot Tutorial: Using Thymeleaf

Recommended Posts

So standardisieren Sie die Kopfzeile in Thymeleaf
Einbetten von JavaScript-Variablen in HTML mit Thymeleaf
Siehe Aufzählung in Thymeleaf
[Rails] So definieren Sie Makros in Rspec und standardisieren die Verarbeitung
Wie man Lombok im Frühling benutzt
So finden Sie May'n in XPath
So blenden Sie die Bildlaufleiste in WebView aus
Wie man in Ruby auf unbestimmte Zeit iteriert
Wie man Ant in Gradle ausführt
Wie man die Programmierung in 3 Monaten beherrscht
Wie man JAVA in 7 Tagen lernt
So erhalten Sie Parameter in Spark
So installieren Sie Bootstrap in Ruby
Verwendung von InjectorHolder in OpenAM
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So setzen Sie Lombok in Eclipse
So verketten Sie Zeichenfolgen mit Java
So installieren Sie Swiper in Rails
[swift5] So legen Sie die Farbe hexadezimal fest
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
So ändern Sie den App-Namen in Rails
Verwendung des benannten Volumes in docker-compose.yml
So filtern Sie den JUnit-Test in Gradle
So fügen Sie ein Video in Rails ein
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So führen Sie eine Basiskonvertierung in Java durch
Wie man Parameter in der link_to-Methode hat
Verwendung von Docker in VSCode DevContainer
Verwendung von MySQL im Rails-Tutorial
So beheben Sie das Systemdatum in JUnit
So erzwingen Sie Codierungskonventionen in Java
Einbetten von Janus Graph in Java
[Rails] So konfigurieren Sie das Routing in Ressourcen
So erhalten Sie das Datum mit Java
So implementieren Sie Ranking-Funktionen in Rails
Verwendung von Umgebungsvariablen in RubyOnRails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
So veröffentlichen Sie eine Bibliothek in jCenter
So geben Sie das ID-Attribut in JSF an
Verstehe in 5 Minuten !! Wie man Docker benutzt
So überschreiben Sie Firebase-Daten mit Swift
Verwendung von credentials.yml.enc aus Rails 5.2
So montieren Sie JSON direkt in Jackson
[Für Anfänger] So debuggen Sie mit Eclipse
Verwendung von ExpandableListView in Android Studio
So zeigen Sie Fehlermeldungen auf Japanisch an
Zusammenfassung der Auswahl von Elementen in Selen
So erhalten Sie Keycloak-Anmeldeinformationen in der Interceptor-Klasse
[Java FX] So schreiben Sie Eclipse-Berechtigungen in build.gradle
So überprüfen Sie das Protokoll im Docker-Container