English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Thymeleaf Es una biblioteca Java de código abierto según Licencia Apache20 Obtener licencia. Esto es una HTML5/XHTML/XML Motor de plantillas. Es utilizado para entornos web (basado en Servlet) y no web (desconectado) Plantilla de Java del lado del servidorMotor5 Para el desarrollo web en JVM, es una opción perfecta. Ofrece una integración completa con el Framework Spring.
Aplica una serie de transformaciones a los archivos de plantilla para mostrar datos o texto generados por la aplicación. Adecuado para proporcionar XHTML en aplicaciones web./HTML5.
El objetivo de Thymeleaf es proporcionar una Modernoy Bien formateadoManera de crear plantillas. Se basa en etiquetas XML y atributos. Estos marcadores XML definen la ejecución de lógica predefinida en el DOM (Modelo de Objetos de Documento), en lugar de escribir esta lógica explícitamente como código en la plantilla. Reemplaza a JSP .
La arquitectura de Thymeleaf permite Rápido Procesamiento, dependiendo del archivo de caché解析ado. Utiliza el menor I/Operación O.
JSP más o menos se parece a HTML. Pero no es completamente compatible con HTML como Thymeleaf. Podemos abrir y mostrar archivos de plantillas Thymeleaf en el navegador, pero los archivos JSP no.
Thymeleaf admite expresiones de variables como Spring EL ($ {...}) y ejecuta en propiedades de modelo, expresiones de asterisco (* {...}) se ejecuta en soporte de bean de formulario, la expresión de hash (#{...}) se utiliza para la internacionalización, y la expresión de enlace (@{......)) reescribe la URL.
Al igual que JSP, Thymeleaf se puede usar muy bien para correos electrónicos HTML enriquecidos.
Thymeleaf puede manejar seis tipos de plantillas (también conocidas como" Patrón de plantilla) como sigue:
XML XML válido XHTML XHTML válido HTML5 HTML de versión anterior5
Además del HTML de versión anterior5Además de los patrones mencionados anteriormente XML claramente definido Archivo. Nos permite manejar HTML con etiquetas independientes, atributos de etiquetas sin valores o sin escribir entre comillas, entre otras funciones.5Archivo.
Para procesar archivos en este patrón específico, Thymeleaf realiza una conversión, transformando archivos en XML bien formateado Archivo (HTML válido)5archivo).}}
Thymeleaf también nos permite definir nuestros propios patrones de procesamiento de plantillas especificando dos formas de analizar plantillas en este modo. De esta manera, Thymeleaf puede procesar efectivamente cualquier modelo que se pueda modelar como un árbol de DOM como plantilla.
Thymeleaf es un motor de plantillas que nos permite definir el marco de nodos del DOM. Los nodos del DOM procesados en la plantilla.
Los objetos que aplican lógica a los nodos del DOM se denominan Procesadores. Un grupo de procesadores y algunas herramientas adicionales se denominan Dialecto. El dialecto que contiene la biblioteca nuclear de Thymeleaf se llama Dialecto estándar
Si queremos definir lógica de procesamiento propia mientras aprovechamos las funciones avanzadas de la biblioteca, podemos definir nuestro propio dialecto. Propio dialecto. En el motor de plantillas, podemos configurar múltiples dialectos a la vez.
Paquete de integración Thymeleaf (thymeleaf-spring3y thymeleaf-spring4) define una propiedad llamada Dialecto SpringStandard del dialecto. El dialecto estándar es casi idéntico al SpringStandard. Sin embargo, el dialecto estándar tiene algunos cambios menores que permiten aprovechar mejor ciertas funciones del framework Spring.
Por ejemplo, utilizando Spring Expression Language en lugar del OGNL (Object Graph Navigation Language) estándar de Thymeleaf.
El dialecto estándar puede procesar plantillas de cualquier manera. Sin embargo, es muy adecuado para patrones de plantillas orientados a Web (HTML5y XHTML). Soporta y verifica las siguientes especificaciones XHTML:
XHTML 1Versión de transición XHTML estricto 10 XHTML 1Frame Set XHTML 1.1.
El procesador de dialecto estándar es un procesador de atributos que permite que el navegador muestre HTML5/Plantilla XHTML. Esto se debe a que ignoran otras propiedades.
Por ejemplo, cuando un archivo JSP utiliza una biblioteca de etiquetas, contiene un código que no puede ser mostrado por el siguiente navegador:
<form:inputText name="student.Name" value="${student.name}" />
Thymeleaf Standard Dialect permite realizar la misma función con el siguiente código.
<input type="text" name="student Name" value="Thomas" th:value="${student.name}" />
El código anterior también permite definir value propiedad( Thomas Al abrir el prototipo en el navegador, se mostrará este valor. Durante el proceso de procesamiento de Thymeleaf del plantilla, esta propiedad será procesada por ${student.name} El valor obtenido por la evaluación reemplaza.
Permite a los diseñadores y desarrolladores manejar el mismo archivo de plantilla. Reduciendo el trabajo necesario para convertir prototipos estáticos en archivos de plantillas de trabajo. Se llama Plantilla natural.
Se puede usar tanto en entornos de red como en entornos no en red. Para HTML5/XML/Motor de plantillas Java para XHTML. Su alta capacidad de parseo de caché de plantillas I/Reduce al mínimo O. Si es necesario, puede utilizarse como marco de motor de plantillas. Soporta varios patrones de plantillas: XML, XHTML y HTML5. Permite a los desarrolladores expandir y crear dialectos personalizados. Se basa en un conjunto de funciones modulares llamado dialectos. Soporta internacionalización.
<dependency> <groupId>org.springframework.boot</<groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
Creamos una aplicación Spring Boot y implementamos el template Thymeleaf.
Paso1: Abrir Spring Initializr http://start.spring.io .
Paso2: Elegir la versión de Spring Boot 2.3.0.M1.
Paso2: proporcionar Nombre del grupoNombre del grupo. Hemos proporcionado com.w3codebox .
Paso3: proporcionar Nombre del artefacto ID. Hemos proporcionado spring-boot-thymeleaf-view-example.
Paso5: Añadir dependencias Spring Web y Thymeleaf.
Paso6: Hacer clic Generate (Generar) Botón. Al hacer clic en el botón "Generar", se empaqueta la especificación en Jar descargarlo en el sistema local.
El7Paso: Extraer Archivo Jar y péguelo en el área de trabajo de STS.
Paso8: Importar Carpeta del proyecto en STS.
Archivo-> Importar-> Proyecto Maven existente-> Navegar-> Seleccionar carpeta spring-boot-thymeleaf-view-example->Completar
La importación requiere algo de tiempo.
Paso9: en el paquete com.w3codebox En la creación de la clase. Creamos una llamada Clase User.
En esta clase, definimos dos variables name y email y genera Getter y Setters.
User.java
paquete com.w3codebox; public class User { String name; String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
Paso10: Crear la clase controladora. Hemos creado una clase llamada DemoController es la clase controladora.
DemoController.java
paquete com.w3codebox; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.stereotype.Controller; @Controller public class DemoController { @RequestMapping("/") public String index() { return"index"; } @RequestMapping(value="/save, method=RequestMethod.POST) public ModelAndView save(@ModelAttribute User user) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("user"-data"); modelAndView.addObject("user", user); return modelAndView; } }
El siguiente paso será crear el plantilla Thymeleaf.
Paso11: en dentro de la plantilla(src/main/resources/Crear una carpeta llamada user-data de las plantillas Thymeleaf.
Haga clic con el botón derecho en la carpeta de plantillas->Nuevo->Otro-> Archivo HTML->Siguiente->Proporcionar nombre de archivo->Completar
<html lang="en" xmlns:th="http://www.thymeleaf.org">
user-data.html
<html xmlns:th="https://thymeleaf.org"> <table> <tr> <td><h4>Nombre de Usuario: </h4></td> <td><h4 th:text="${user.name}"></h4></td> </tr> <tr> <td><h4>ID de Correo Electrónico: </h4></td> <td><h4 th:text="${user.email}"></h4></td> </tr> </table> </html>
Paso12: Del mismo modo, crea uno en la carpeta de plantillas. HTML creamos un archivo llamado index de archivo HTML.
index.html
<html lang="en"> <head> <title>Página de Índice</title> </head> <body> <form action="save" method="post"> <table> <tr> <td><label for="user-name">Nombre de Usuario</label></td> <td><input type="text" name="name"></input></td> </tr> <tr> <td><label for="email">Email</label></td> <td><input type="text" name="email"></input></td> </tr> <tr> <td></td> <td><input type="submit" value="Submit"></input></td> </tr> </table> </form> </body> </html>
Paso13: Abrir application.properties Crear un archivo y agregar las siguientes propiedades.
application.properties
spring.thymeleaf.cache=false spring.thymeleaf.suffix: .html
Después de crear todos los archivos, carpetas y paquetes, la estructura del directorio del proyecto es la siguiente:
Vamos a ejecutar la aplicación.
Paso14: Abrir SpringBootThymeleafViewExampleApplication.java y lo abrimos como aplicación Java.
SpringBootThymeleafViewExampleApplication.java
paquete com.w3codebox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootThymeleafViewExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringBootThymeleafViewExampleApplication.class, args); } }
Paso15: Ahora, abra el navegador y llame a la URL http://localhost:8080. Muestra la salida, como se muestra a continuación.
proporcionar nombre de usuarioy correo electrónico, luego haga clic Enviaren el botón.
Hacer clic EnviarLos botones, el URL se cambia a http://localhost: 8080/guardar y mostrar los datos de usuario, como se muestra a continuación.
En esta sección, discutimos las vistas de Thymeleaf. Para hacer que la vista sea más atractiva, se puede agregar CSS y JS Los archivos deben estar ubicados src/main/resources/static en la carpeta.