Créer une application TODO dans Java 7 Créer un en-tête

Bonjour. Dans cet article, je voudrais aborder la création de la partie en-tête de l'application TODO créée avec Spring et Thymeleaf.

Collection de liens de création d'application TODO

1: [Comprendre les super bases] Une brève description de MVC 2: [Préparer un modèle] Je veux créer un modèle avec Spring Initializr et créer un monde Hello 3: [Connexion / Paramètres / Affichage des données avec MySQL] Enregistrer les données temporaires dans MySQL-> Tout obtenir-> Afficher en haut 4: [Fonction POST] Implémentation de la fonction de publication 5: [Fonction PATCH] Basculer l'affichage TODO 6: [Easy to use JpaRepository] Implémentation de la fonction de recherche 7: [Commun avec les fragments de modèle Thymeleaf] Créer un en-tête (maintenant ici)

Structure de la page actuelle

・ Http: // localhost: 8080 / top ・ Http: // localhost: 8080 / recherche

Actuellement, seules deux pages sont affichées de cette manière.

Dans le futur en tant que View dans cette application TODO

・ Page affichant l'erreur · Modifier la page

Sera créé, donc la zone d'affichage avant sera un total de 4 pages.

Et la spécification est que les quatre pages ont un en-tête commun.

S'il s'agit d'environ 4 pages, ce sera en HTML individuel

html


<header>....</header>

je peux ajouter

Lorsque vous souhaitez ajouter un nouveau lien à l'en-tête, vous pouvez modifier une page et il sera reflété sur toutes les pages, ce qui rend l'édition très facile.

Qu'est-ce qu'un fragment de modèle?

Le fragment de modèle est une fonction de Thymeleaf qui gère le HTML que vous souhaitez partager.

Il est utilisé lors de l'affichage d'un fichier ou d'un élément HTML dans plusieurs HTML.

Je pense que cette idée est proche du concept de composants utilisés dans Vue.js et React, il peut donc être bon d'en être conscient.

Maintenant, comment utiliser des fragments de modèle

c'est

** 1. Fragmentez les éléments que vous souhaitez afficher sur plusieurs pages **

** 2. Appelez le fragment sur la page que vous souhaitez utiliser **

Il sera épuisé.

Relation positionnelle des fichiers HTML

Cette fois l'en-tête

main/resources/templates/common/header.html

Créez-le avec ce chemin et fragmentez-le.

Et cela

main/resources/templates/top.html main/resources/templates/search.html

Affichons-le dans l'en-tête de!

Éléments HTML fragmentés

Faisons maintenant la fragmentation.

Je vais d'abord expliquer brièvement le concept de fragmentation.

Que signifie la fragmentation?

Fragment signifie * "fragment / fragment / fragment" *.

En d'autres termes, la fragmentation est une bonne image de l'enregistrement d'éléments HTML (variables) comme * une seule pièce *!

Comment fragmenter

Pour les éléments que vous souhaitez partager (par exemple, en-tête)

<header th:fragment="header_fragment()>
  ...
</header>

th: fragment =" Nom du fragment (argument si vous voulez passer un argument)

Vous pouvez le fragmenter en faisant comme.

Essayez de fragmenter l'en-tête

main/resources/templates/common/header.html


<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org">
    <header th:fragment="header_fragment()">
        <div class="text-center bg-primary">
            <div class="d-flex p-3">
                <p class="display-4 w-75 pl-5 mb-0 text-left font-weight-bold">
                    <a th:href="@{/top}" class="text-dark">Liste de choses à faire</a>
                </p>
                <p class="display-4 w-25 mb-0 mr-5 text-right font-weight-bold ">
                    <a th:href="@{/search}" class="text-dark">Chercher</a>
                </p>
            </div>
        </div>
    </header>
</html>

Comme vous pouvez le voir, cet en-tête est fragmenté en écrivant <header th: fragment =" header_fragment () ">.

Appelons cela d'un autre HTML!

Fragmentez et appelez View à partir d'un autre HTML.

main/resources/templates/top.html


<body>
  <header th:replace="common/header :: header_fragment()"></header>
    .....Abréviation
  </header>
</body>

Ce à quoi je veux faire attention est la partie de th: replace =" .... ".

replace a la signification de * replace * et remplace littéralement l'élément HTML.

C'est donc une image qui écrase complètement. Il existe d'autres méthodes d'affichage telles que th: insert et th: include, donc si vous voulez les utiliser correctement, vous devriez les vérifier.

th: replace =" Chemin relatif du fragment que vous voulez appeler :: Nom du fragment que vous voulez appeler "

Vous pouvez appeler ce fragment en faisant!

Vous pouvez désormais appeler facilement des en-têtes communs même si le nombre de vues augmente à l'avenir!

Résumé

Écrire en gros comment utiliser les fragments de modèle

-Fragmenter la vue que vous souhaitez normaliser (th: fragment)

-Appeler cette vue (th: remplacer, th: insérer, th: inclure)

Sera!

Cette fois, remplacer écrase complètement l'élément, mais en fonction des spécifications, je pense que je veux appeler quelque chose qui est en partie commun (par exemple, un bouton), alors dans ce cas, essayez d'utiliser insérer ou inclure Faisons le!

Recommended Posts

Créer une application TODO dans Java 7 Créer un en-tête
Créons une application de calcul avec Java
Créons une application TODO en Java 4 Implémentation de la fonction de publication
Créons une application TODO en Java 6 Implémentation de la fonction de recherche
Créons une application TODO en Java 8 Implémentation des fonctions d'édition
Créons une application TODO avec Java 1 Brève explication de MVC
Créons une application TODO en Java 5 Changer l'affichage de TODO
Application Janken en Java
[Java] Créer un filtre
Créer JSON en Java
Créer un CSR avec des informations étendues en Java
Essayez de créer un babillard en Java
Créons un framework Web ultra-simple avec Java
Créer une image docker pour exécuter une application Java simple
Comment créer un environnement Java en seulement 3 secondes
Créer une méthode java [Memo] [java11]
J'ai essayé de créer une compétence Clova en Java
Comment créer un URI de données (base64) en Java
[Java] Créer un fichier temporaire
Rechercher un sous-ensemble en Java
[Programmation complète] §5 Créer une application de gestion des avis dans Ruby
Créons une application TODO en Java 11 Gestion des exceptions lors de l'accès à un TODO avec un ID inexistant
Créer un SlackBot avec AWS lambda et API Gateway en Java
Créer une méthode pour renvoyer le taux de taxe en Java
Comment développer et enregistrer une application Sota en Java
3 Implémentez un interpréteur simple en Java
J'ai créé un PDF avec Java.
J'ai créé une application shopify @java
Créer une base de données dans un environnement de production
Créer un projet Java à l'aide d'Eclipse
Un exemple simple de rappels en Java
Créer un programme Servlet dans Eclipse
Essayez de créer une application client serveur
Restez coincé dans un Java Primer
Créez un classement temporel clair avec la base de données en temps réel de Firebase (application Android)
Créer une SkipList nommée en Java qui ressemble à un ensemble trié redis
J'ai essayé de créer une application cartographique simple dans Android Studio
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
[Java] Renvoie un fichier de nom japonais dans le nom de fichier dans l'en-tête HTTP
Créons une application TODO dans Java 13 TODO form validation 1: Character limit-Update Gradle to use @Validated
Créons une application TODO avec Java 3 Enregistrez les données temporaires dans MySQL-> Tout obtenir-> Afficher en haut
[Java] Créer et appliquer un masque des diapositives
Lors de la recherche de plusieurs dans un tableau Java
Créer des données binaires de longueur variable en Java
[Rails6] Créer une nouvelle application avec Rails [Débutant]
[Création] Un mémorandum sur le codage en Java
Java crée un tableau dans un document Word
Java crée un graphique circulaire dans Excel
Créer un projet Java Spring Boot avec IntelliJ
Créons un environnement de développement Java (mise à jour)
Qu'est-ce qu'une classe en langage Java (2 /?)
Déployer des applications Web Java sur Heroku
Implémenter quelque chose comme une pile en Java
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
Diviser une chaîne avec ". (Dot)" en Java
Création d'une classe de matrice dans Java Partie 1
Pour créer un fichier Zip lors du regroupement des résultats de recherche de base de données en Java
J'ai créé un programme de jugement des nombres premiers en Java
GetInstance () à partir d'une classe @Singleton dans Groovy à partir de Java