Bota de primavera - Thymeleaf

Thymeleaf es una biblioteca basada en Java que se utiliza para crear una aplicación web. Proporciona un buen soporte para servir un XHTML / HTML5 en aplicaciones web. En este capítulo, aprenderá en detalle sobre Thymeleaf.

Plantillas de Thymeleaf

Thymeleaf convierte sus archivos en archivos XML bien formados. Contiene 6 tipos de plantillas como se indica a continuación:

  • XML
  • XML válido
  • XHTML
  • XHTML válido
  • HTML5
  • HTML5 heredado

Todas las plantillas, excepto Legacy HTML5, se refieren a archivos XML válidos bien formados. El HTML5 heredado nos permite representar las etiquetas HTML5 en una página web, incluidas las etiquetas no cerradas.

Aplicación web

Puede usar plantillas de Thymeleaf para crear una aplicación web en Spring Boot. Deberá seguir los pasos a continuación para crear una aplicación web en Spring Boot utilizando Thymeleaf.

Use el siguiente código para crear un archivo de clase @Controller para redirigir el URI de solicitud a un archivo 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";
   }
}

En el ejemplo anterior, el URI de solicitud es /indexy el control se redirige al archivo index.html. Tenga en cuenta que el archivo index.html debe colocarse en el directorio de plantillas y todos los archivos JS y CSS deben colocarse en el directorio estático en classpath. En el ejemplo que se muestra, usamos un archivo CSS para cambiar el color del texto.

Puede usar el siguiente código y crear un archivo CSS en una carpeta separada css y nombre el archivo como styles.css -

h4 {
   color: red;
}

El código para el archivo index.html se proporciona a continuación:

<!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>

El explorador del proyecto se muestra en la captura de pantalla que se muestra a continuación:

Ahora, necesitamos agregar la dependencia Spring Boot Starter Thymeleaf en nuestro archivo de configuración de compilación.

Los usuarios de Maven pueden agregar la siguiente dependencia en el archivo pom.xml:

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

Los usuarios de Gradle pueden agregar la siguiente dependencia en el archivo build.gradle:

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

El código para el archivo de clase de la aplicación Spring Boot principal se proporciona a continuación:

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);
   }
}

El código para Maven - pom.xml se da a continuación -

<?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>

El código para Gradle - build.gradle se da a continuación:

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')
}

Puede crear un archivo JAR ejecutable y ejecutar la aplicación Spring Boot mediante los siguientes comandos de Maven o Gradle:

Para Maven, use el comando como se muestra a continuación:

mvn clean install

Después de "BUILD SUCCESS", puede encontrar el archivo JAR en el directorio de destino.

Para Gradle, use el comando como se muestra a continuación:

gradle clean build

Después de "BUILD SUCCESSFUL", puede encontrar el archivo JAR en el directorio build / libs.

Ejecute el archivo JAR utilizando el comando que se proporciona aquí:

java –jar <JARFILE>

Ahora, la aplicación se ha iniciado en el puerto 8080 de Tomcat como se muestra a continuación:

Ahora presione la URL en su navegador web y podrá ver el resultado como se muestra:

http://localhost:8080/index