[JAVA] Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ⑤ ~ Modèle commun ~

Contenu

-Suite de Dernière fois --Créez une application CRUD simple avec Spring Boot ――Cette fois, nous allons refactoriser pour faire ressortir les parties communes de Thymeleaf.

Vérifiez la situation actuelle

src/main/resources/templates
└── players
    ├── edit.html
    ├── index.html
    ├── new.html
    └── show.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
  <head>
    <meta charset="utf-8" />
    <title>XXXX - baseball</title>
    <link rel="stylesheet" href="/css/bootstrap.css" />
    <script src="/js/jquery.js"></script>
    <script src="/js/bootstrap.js"></script>
  </head>
  <body>
    <!--Cela dépend de la page-->
  </body>
</html>

procédure

Ajouter des dépendances (uniquement pour la série Spring Boot 2)

pom.xml


<dependency>
  <groupId>nz.net.ultraq.thymeleaf</groupId>
  <artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>

build.gradle


compile('nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect')

Créer un fichier commun

--Créez un fichier appelé layout.html dans src / main / resources / templates et décrivez le contenu suivant

<!DOCTYPE html>
<!-- ① -->
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
  <head>
    <meta charset="utf-8" />
    <!-- ② -->
    <title layout:title-pattern="$DECORATOR_TITLE - $CONTENT_TITLE">baseball</title>
    <link rel="stylesheet" href="/css/bootstrap.css" />
    <script src="/js/jquery.js"></script>
    <script src="/js/bootstrap.js"></script>
  </head>
  <body>
    <!-- ③ -->
    <div layout:fragment="content"></div>
  </body>
</html>

-①: La différence avec les fichiers précédents est que la description suivante a été ajoutée. - xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"

Utilisation de fichiers communs

<!DOCTYPE html>
<!-- ① -->
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout">
  <head>
    <!-- ② -->
    <title>Listing Players</title>
  </head>
  <body>
    <!-- ③ -->
    <div class="container" layout:fragment="content">
      <h1>Listing Players</h1>
      <!--Omis parce que c'est long-->
    </div>
  </body>
</html>

--①: Les deux descriptions suivantes ont été ajoutées. - A: xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" - B: layout:decorator="layout" --A est identique au fichier commun, et en écrivant ceci, vous pouvez utiliser le fichier commun. --B spécifie le fichier commun à utiliser -Le côté droit de = correspond au nom du fichier à l'exclusion de l'extension du fichier commun --Par exemple, si le fichier commun est dans template / sample / common.html, la description de B est la suivante. - layout:decorator="sample/common"

Apportez des modifications similaires à d'autres fichiers

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout">
  <head>
    <title>New Player</title>
  </head>
  <body>
    <div class="container" layout:fragment="content">
      <!--Omis parce que c'est long-->
    </div>
  </body>
</html>
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout">
  <head>
    <title>Editing Player</title>
  </head>
  <body>
    <div class="container" layout:fragment="content">
      <!--Omis parce que c'est long-->
    </div>
  </body>
</html>
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout">
  <head>
    <title>Show Player</title>
  </head>
  <body>
    <div class="container" layout:fragment="content">
      <!--Omis parce que c'est long-->
    </div>
  </body>
</html>

Contrôle de fonctionnement

--OK si vous faites la même opération qu'avant

Recommended Posts

Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ⑤ ~ Modèle commun ~
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ① ~ Hello World ~
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ④ ~ Personnaliser le message d'erreur ~
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ② ~ Création d'écran et de fonctions ~
[docker] [nginx] Créer un ALB simple avec nginx
04. J'ai fait un frontal avec SpringBoot + Thymeleaf
Afficher un simple Hello World avec SpringBoot + IntelliJ
[Débutant] Essayez de créer un jeu RPG simple avec Java ①
Faisons une API simple avec EC2 + RDS + Spring boot ①
Dessiner un écran avec Thymeleaf dans SpringBoot
Créez un labyrinthe de fouilles avec Ruby2D
Essayez de faire un simple rappel
Implémenter le lien texte avec Springboot + Thymeleaf
Créer un outil de diaporama avec JavaFX
Créer une carte de liste avec LazyMap
Faites une langue! (Faire une simple calculatrice ①)
Faites un jeu de frappe avec ruby
Faisons une carte de Noël avec Processing!
Faites une liste de choses à faire en famille avec Sinatra
Créez une application Web simple avec Dropwizard
Bonjour tout le monde avec le moteur de modèle Java Thymeleaf
[Retrait des rails] Créez une fonction de retrait simple avec des rails
Créez quand même une fonction de connexion avec Rails
Implémenter CRUD avec Spring Boot + Thymeleaf + MySQL
Implémentez un CRUD simple avec Go + MySQL + Docker
J'ai essayé de faire un jeu simple avec Javafx ① "Trouvons le jeu du bonheur" (inachevé)