Guía para principiantes de Thymeleaf con Spring Boot Esta guía explica de forma práctica qué es Thymeleaf, cómo integrarlo en un proyecto Spring Boot y ejemplos comunes para crear plantillas, manejar formularios, internacionalización y buenas prácticas de estructura de proyecto. Además incluimos información sobre Q2BSTUDIO, empresa de desarrollo de software especializada en aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud.
Tabla de contenidos Introducción a Thymeleaf, Configuración y dependencias, Sintaxis básica, Controladores en Spring Boot, Ejemplos de plantillas Thymeleaf, Manejo de formularios y validación, Condicionales y bucles, Layouts y fragments, Internacionalización, Estructura del proyecto, Propiedades de aplicación y Ejecución.
Qué es Thymeleaf Thymeleaf es un motor de plantillas Java moderno pensado para entornos web y standalone. Su filosofía es natural templates, lo que significa que las plantillas pueden verse como archivos HTML válidos en el navegador sin necesidad de servidor. Es ideal para aplicaciones Spring Boot y facilita la integración con formularios, expresiones, bucles y fragmentos reutilizables.
Configuración y dependencias En un proyecto Spring Boot basta con añadir la dependencia spring boot starter thymeleaf al pom.xml y mantener la estructura de recursos con templates y static. En application properties se pueden ajustar spring.thymeleaf.cache a false durante desarrollo y definir prefijos y sufijos para las plantillas. También se configuran las propiedades de internacionalización y el puerto del servidor.
Sintaxis básica de Thymeleaf Thymeleaf utiliza atributos que comienzan por th: para procesar plantillas. Atributos comunes incluyen th:text para establecer texto, th:utext para texto sin escape, th:each para iterar colecciones, th:if y th:unless para condicionales, th:object para enlazar objetos de formulario y th:field para enlazar campos de formulario. Las expresiones usan la sintaxis ${...} para acceder a datos del modelo.
Ejemplos de controladores en Spring Boot Un controlador básico puede exponer rutas con GetMapping y PostMapping y añadir atributos al modelo con model.addAttribute. Para formularios se usa @ModelAttribute y para validación jakarta validation con @Valid y BindingResult. Los controladores devuelven cadenas con el nombre de la vista Thymeleaf que se renderizará en templates.
Ejemplos de plantillas Thymeleaf Las plantillas son HTML con atributos th: que se procesan en servidor. Un home simple muestra mensajes con th:text y enlaces con th:href usando la sintaxis @{/ruta(param=valor)}. Una plantilla de lista de usuarios itera con th:each y muestra casos vacíos con th:if. Las plantillas de registro enlazan un objeto de formulario con th:object y campos con th:field.
Manejo de formularios y validación Para crear formularios se usa th:action para la ruta de envío y th:object para el objeto que respalda el formulario. Los campos usan th:field y la validación se maneja en el controlador con @Valid y BindingResult para devolver la vista con errores si es necesario. Mostrar errores se hace con #fields.hasErrors y th:errors.
Condicionales y bucles Thymeleaf soporta condicionales simples con th:if y th:unless y estructuras tipo switch con th:switch y th:case. Para iteraciones se usa th:each que también aporta un objeto de estado con índice, conteo y propiedades odd y even para presentar filas alternadas o índices.
Layouts y fragments Para mantener consistencia visual se recomiendan layouts y fragments. Un layout principal define fragmentos como header footer y un contenedor content. Otras páginas decoran el layout con layout:decorate y reemplazan el fragment content para insertar su contenido. Esto facilita reutilizar navegación, footer y estilos en toda la aplicación.
Internacionalización Thymeleaf integra i18n usando archivos messages propiedades por idioma. En templates se usan expresiones #{clave} para mostrar mensajes localizados y se pueden pasar parámetros. El controlador puede recibir un parámetro lang para cambiar el locale o usar un locale resolver configurado en Spring.
Estructura del proyecto Organización típica src main java con paquetes controller model service y la clase principal DemoApplication. Recursos en src main resources incluyen templates, static con css y js y application properties. Mantener una separación clara facilita desarrollo y pruebas y es compatible con prácticas de DevOps y despliegue en servicios cloud.
Propiedades y ejecución Propiedades importantes incluyen server.port para el puerto, spring.thymeleaf.cache false en desarrollo, spring.thymeleaf.prefix classpath:/templates/ y spring.messages.basename para i18n. Para ejecutar la aplicación usar ./mvnw spring-boot run o empaquetar con mvn package y desplegar el jar resultante.
Buenas prácticas y recomendaciones Mantener plantillas limpias y reutilizables con fragments, validar siempre la entrada del usuario, externalizar mensajes para i18n, y utilizar un resolver de locales. En producción activar cache de Thymeleaf y configurar logging adecuado. Para despliegue considere contenedores y servicios gestionados en la nube como AWS o Azure para escalabilidad.
Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software que crea aplicaciones a medida y software a medida orientado a resultados. Somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios de inteligencia de negocio y soluciones de automatización. Si desea desarrollar una aplicación personalizada puede conocer nuestros servicios de desarrollo en desarrollo de aplicaciones y software a medida y si busca soluciones de IA para empresas visite nuestra propuesta de inteligencia artificial donde trabajamos agentes IA, modelos de ia para empresas y soluciones de power bi para inteligencia de negocio.
Palabras clave aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.
Contacto y siguientes pasos Con el conocimiento de esta guía puede crear una aplicación Spring Boot con Thymeleaf funcional y adaptarla a necesidades de negocio. Para proyectos a medida, auditorías de seguridad o migración a la nube puede contactar a Q2BSTUDIO y explorar servicios profesionales que aceleran el desarrollo y la puesta en producción.