Thymeleaf es un motor de plantillas Java XML / XHTML / HTML5 que puede funcionar tanto en entornos web ( basados en servlets ) como no web. Es más adecuado para servir XHTML / HTML5 en la capa de visualización de aplicaciones web basadas en MVC , pero puede procesar cualquier archivo XML incluso en entornos fuera de línea. Proporciona una integración completa de Spring Framework .
Desarrollador (es) | Daniel Fernández |
---|---|
Lanzamiento estable | 3.0.12 [1] / 21 de diciembre de 2020 |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Estándar (s) | XML , XHTML , HTML5 |
Tipo | Motor de plantillas |
Licencia | Licencia Apache 2.0 |
Sitio web | www |
En aplicaciones web, Thymeleaf pretende ser un sustituto completo de JavaServer Pages (JSP) e implementa el concepto de plantillas naturales : archivos de plantilla que se pueden abrir directamente en los navegadores y que aún se muestran correctamente como páginas web.
Thymeleaf es un software de código abierto , con licencia Apache License 2.0 .
Características
Desde el sitio web del proyecto: [2]
- Motor de plantillas Java para XML , XHTML y HTML5 .
- Funciona tanto en entornos web como no web (sin conexión). Sin dependencia estricta de la API de Servlet .
- Basado en conjuntos de características modulares llamados dialectos .
- Las características del dialecto (por ejemplo: evaluación, iteración, etc.) se aplican vinculándolas a las etiquetas y / o atributos de la plantilla.
- Dos dialectos disponibles listos para usar: Standard y SpringStandard (para aplicaciones Spring MVC , la misma sintaxis que Standard).
- Los desarrolladores pueden ampliar y crear dialectos personalizados.
- Varios modos de plantilla:
- Soporte de internacionalización completo (y extensible) .
- Caché de plantilla analizada configurable y de alto rendimiento que reduce la entrada / salida al mínimo.
- Traducciones automáticas de DOCTYPE, desde la plantilla DTD hasta la DTD del resultado, para la validación (opcional) tanto de la plantilla como del código de resultado.
- Extremadamente extensible: se puede utilizar como marco de motor de plantilla si es necesario.
- Documentación completa que incluye varias aplicaciones de ejemplo.
Ejemplo de Thymeleaf
El siguiente ejemplo produce una tabla HTML5 con filas para cada elemento de una variable List
< table > < thead > < tr > < th th: text = "# {msgs.headers.name}" > Nombre th > < th th: text = "# {msgs.headers.price}" > Precio < / th > tr > thead > < tbody > < tr th: each = "prod: $ {allProducts}" > < td th: text = "$ {prod.name}" > Naranjas td > < td th: text = "$ {# numbers.formatDecimal (prod.price, 1,2)}" > 0,99 td > tr > tbody > table >
Este código incluye:
- Expresiones de internacionalización: # {...} rh
- Expresiones de evaluación de atributo de modelo / variable: $ {...}
- Funciones de utilidad: # numbers.formatDecimal (...)
Además, este fragmento de código (X) HTML puede ser perfectamente mostrado por un navegador como un prototipo, sin ser procesado en absoluto: es una plantilla natural .
Ver también
Referencias
- ^ https://www.thymeleaf.org/releasenotes.html#thymeleaf-3.0.12 Notas de la versión
- ^ "Copia archivada" . Archivado desde el original el 8 de octubre de 2011 . Consultado el 16 de octubre de 2011 .CS1 maint: copia archivada como título ( enlace ) Características de Thymeleaf
enlaces externos
- Thymeleaf