[JAVA] Thymeleaf a fait du HTML une partie commune pour unifier la conception et améliorer l'efficacité du développement.

Dans un environnement Spring Boot + Thymeleaf, plusieurs personnes peuvent développer le front-end, C'est un mémo que lorsque la même structure et la même conception apparaissent souvent, il y avait un tel problème et il a été résolu. (Même si quelqu'un prend le relais, cela peut être une fourmi pour en faire une partie commune)

environnement

Spring Boot: 1.3.2 RELEASE Thymeleaf: 2.14 RELEASE

Qu'est-ce que Thymeleaf

C'est l'un des moteurs de modèles et il est recommandé pour une utilisation dans un environnement Java. Ce que j'aime, c'est que vous pouvez intégrer la propre syntaxe de Thymeleaf dans HTML. Écrivez d'abord du HTML natif, déterminez grossièrement la structure et la conception, et ne cassez pas trop le code Vous pouvez le compléter. (Je n'ai jamais utilisé aucun autre moteur de template ... c'est peut-être ce que le monde veut dire) On dit que vous pouvez faire diverses choses (bien que ce soit approximatif) en le combinant avec Spring Boot. Site officiel: http://www.thymeleaf.org/

Des défis sur le terrain où j'étais

En fait, c'était il y a un peu moins de deux ans, et je suis récemment revenu au front-end et je m'en suis souvenu, alors je l'ai écrit. A cette époque, en plein développement, j'avais les problèmes suivants.

Parties communes fabriquées avec Thymeleaf

De la conclusion, je vais faire comme ça (j'omettrai la syntaxe de Thymeleaf).

Votre interlocuteur


<!-- form.texte en html-Appelez une partie appelée formulaire.
En tant qu'argument, templateId, label,Passe requis.
templateId"accountName"Passez la chaîne de caractères.
l'étiquette est msg dans la ressource de message.account.Passez la chaîne définie dans nom.
Passez faux pour obligatoire-->
<div th:replace="form :: text-form(
    templateId = 'accountName',
    label      = #{msg.account.name},
    required   = false)">
</div>

Parties communes


<!-- text-C'est une partie nommée forme.
En tant qu'argument, templateId, label,Recevoir requis.-->
<div th:fragment="text-form(templateId, label, required)">
    <label th:for="${templateId}" th:text="${label}"></label>
    <div>
        <input type="text" th:id="${templateId}" th:name="${templateId}" th:field="*{__${templateId}__}"
               th:required="${required}? required"/>
    </div>
</div>

En fait, il existe une application de classe CSS et un appel Javascript, ce qui complique les choses, mais si vous définissez des parties communes, Vous pouvez créer efficacement une structure avec une conception unifiée simplement en transmettant les paramètres nécessaires aux pièces nécessaires et en les appelant.

Problèmes après la fabrication de pièces communes

Nous avons pu unifier la conception, développer efficacement des modèles d'écran et les publier comme prévu. Cependant, à mesure que le développement progressait, les problèmes suivants se sont posés.

Ce que je pense personnellement

Recommended Posts

Thymeleaf a fait du HTML une partie commune pour unifier la conception et améliorer l'efficacité du développement.
[Rails] Comment introduire le kaminari avec Slim et changer le design
Convertissez le code de saut de ligne en une balise de saut de ligne html avec Thymeleaf et sortie
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
[Copier et coller] Créez un environnement de développement Laravel avec Docker Compose, partie 2
[Développement individuel de service d’agence d’achat - N ° 009] Un peu plus de travail sur le changement et la conception d’entreprises avec Figma