Botte de printemps - Thymeleaf

Thymeleaf est une bibliothèque basée sur Java utilisée pour créer une application Web. Il fournit un bon support pour servir un XHTML / HTML5 dans les applications Web. Dans ce chapitre, vous en apprendrez plus sur Thymeleaf.

Modèles Thymeleaf

Thymeleaf convertit vos fichiers en fichiers XML bien formés. Il contient 6 types de modèles comme indiqué ci-dessous -

  • XML
  • XML valide
  • XHTML
  • XHTML valide
  • HTML5
  • HTML5 hérité

Tous les modèles, à l'exception de Legacy HTML5, font référence à des fichiers XML valides bien formés. L'historique HTML5 nous permet de rendre les balises HTML5 dans la page Web, y compris les balises non fermées.

Application Web

Vous pouvez utiliser des modèles Thymeleaf pour créer une application Web dans Spring Boot. Vous devrez suivre les étapes ci-dessous pour créer une application Web dans Spring Boot en utilisant Thymeleaf.

Utilisez le code suivant pour créer un fichier de classe @Controller afin de rediriger l'URI de la demande vers un fichier HTML -

package com.tutorialspoint.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class WebController {
   @RequestMapping(value = "/index")
   public String index() {
      return "index";
   }
}

Dans l'exemple ci-dessus, l'URI de la demande est /indexet le contrôle est redirigé vers le fichier index.html. Notez que le fichier index.html doit être placé sous le répertoire templates et que tous les fichiers JS et CSS doivent être placés sous le répertoire static dans classpath. Dans l'exemple illustré, nous avons utilisé un fichier CSS pour changer la couleur du texte.

Vous pouvez utiliser le code suivant et créer un fichier CSS dans un dossier séparé css et nommez le fichier comme styles.css -

h4 {
   color: red;
}

Le code du fichier index.html est donné ci-dessous -

<!DOCTYPE html>
<html>
   <head>
      <meta charset = "ISO-8859-1" />
      <link href = "css/styles.css" rel = "stylesheet"/>
      <title>Spring Boot Application</title>
   </head>
   <body>
      <h4>Welcome to Thymeleaf Spring Boot web application</h4>
   </body>
</html>

L'explorateur de projet est montré dans la capture d'écran ci-dessous -

Maintenant, nous devons ajouter la dépendance Spring Boot Starter Thymeleaf dans notre fichier de configuration de construction.

Les utilisateurs Maven peuvent ajouter la dépendance suivante dans le fichier pom.xml -

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

Les utilisateurs Gradle peuvent ajouter la dépendance suivante dans le fichier build.gradle -

compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'

Le code du fichier de classe d'application Spring Boot principal est donné ci-dessous -

package com.tutorialspoint.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Le code pour Maven - pom.xml est donné ci-dessous -

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoint</groupId>
   <artifactId>demo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>demo</name>
   <description>Demo project for Spring Boot</description>

   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.8.RELEASE</version>
      <relativePath />
   </parent>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
   </properties>

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

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

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

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   
</project>

Le code de Gradle - build.gradle est donné ci-dessous -

buildscript {
   ext {
      springBootVersion = '1.5.8.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
   }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
   mavenCentral()
}
dependencies {
   compile('org.springframework.boot:spring-boot-starter-web')
   compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'
   testCompile('org.springframework.boot:spring-boot-starter-test')
}

Vous pouvez créer un fichier JAR exécutable et exécuter l'application Spring Boot à l'aide des commandes Maven ou Gradle suivantes:

Pour Maven, utilisez la commande comme indiqué ci-dessous -

mvn clean install

Après «BUILD SUCCESS», vous pouvez trouver le fichier JAR sous le répertoire cible.

Pour Gradle, utilisez la commande comme indiqué ci-dessous -

gradle clean build

Après «BUILD SUCCESSFUL», vous pouvez trouver le fichier JAR dans le répertoire build / libs.

Exécutez le fichier JAR en utilisant la commande donnée ici -

java –jar <JARFILE>

Maintenant, l'application a démarré sur le port Tomcat 8080 comme indiqué ci-dessous -

Maintenant, appuyez sur l'URL dans votre navigateur Web et vous pouvez voir la sortie comme indiqué -

http://localhost:8080/index