Si ayer publicábamos ¿Qué es AngularJS?
Hoy vamos a dedicar un primer post introductorio a Thymeleaf

Thymeleaf (como AngularJS) es un motor de plantillas HTML (+XML), en este caso implementado sobre Java.
Con Thymeleaf podemos por fin olvidarnos de las inmanejables Tag Libraries de JSP y añadir dinamismo a nuestra maquetas HTML de forma sencilla (y manteniendo el HTML maquetado sin tener que recubrirlo como tag):
Entre sus principales características:
· Integrado con Spring y Spring MVC
· Sencillo de usar
· Extensible: a nivel de tags
![]()
· Soporte expresiones: OGNL (estándar) y SpEL (Spring):
![]()
http://www.thymeleaf.org/standarddialect5minutes.html
· Integrado con Spring Security:
· Mecanismo de caché
· Soporte internacionalización
![]()
· Integrado con Tiles:
· No tiene dependencias de API de Servlets
Seguro que este ejemplo os convence de sus virtudes: Dandelion DataTables (componente de Dandelion basado en DataTables JQuery plugin):
Usado con Tag Libraries tendríamos:
Con Thymeleaf mantendríamos el HTML decorándolo con tags th:
Renderizado
Si aún nos convencéis de sus virtudes: http://www.thymeleaf.org/thvsjsp.html
En este link podéis ver cómo usar Thymeleaf con Spring MVC 3, en resumen:
· Crear el ViewResolver:
· Configurar Spring MVC:
Scan:
TemplateResolver y TemplateEngine
· Crear Controlador:
· Crear Modelo (ModelAttribute) que usaré en páginas:
· Mapear métodos del controlador:
· Modificar el HTML para que maneje los ModelAttributes:
· En el HTML también se está internacionalizando la aplicación, cuando ponemos:
#{seedstarter.datePlanted} y los demás se busca en el fichero de internacionalización (Messages_es.properties) y al renderizar se sustituye por:
Otro concepto interesante es el de Extensión que nos permite crear dialectos.
La versión actual es la 2.0.16 (24 de febrero de 2013) aunque es un framework muy activo.
Tiene un ecosistema alrededor que incluye:
· Integración con Spring Security
· Integración con Tiles
· Demo de integración con Spring Roo
· Dandelion Tables:
· Módulo para Play 1.2
· Diversos Dialectos
· Archetype Maven
También ofrece un plugin para Eclipse que asiste en los dialectos usando el Eclipse Web Tools Platform HTML. Podéis descargarlo aquí.
Para usarlo desde Maven:
· groupId: org.thymeleaf
· artifactId: thymeleaf
· version: 2.0.16
· groupId: org.thymeleaf
· artifactId: thymeleaf-spring3
· version: 2.0.16
Como dependencias tiene:
· ognl 3.0.5 or later
· javassist 3.16.1-GA or later
· slf4j 1.6.1 or later
















Replica a Luis Miguel Gracia Luis Cancelar la respuesta