Guía de Thymeleaf para principiantes con Spring Boot

Guía completa de Thymeleaf con Spring Boot: instalación, sintaxis, plantillas, formularios, validación, layouts e internacionalización, despliegue y ejemplos prácticos

17 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Tabla de contenidos: ¿Qué es Thymeleaf?, Instalación y dependencias, Sintaxis básica, Ejemplos de controladores en Spring Boot, Plantillas Thymeleaf, Manejo de formularios y validación, Condicionales y bucles, Layouts y fragments, Internacionalización, Estructura de proyecto y despliegue

¿Qué es Thymeleaf? Thymeleaf es un motor de plantillas Java moderno para entornos web y standalone que prioriza la naturalidad de las plantillas, permitiendo que los archivos HTML sean visualizados en un navegador sin necesidad de servidor. Es ideal para aplicar vistas en aplicaciones Spring Boot y facilita la integración con formularios, internacionalización y fragmentación de layouts.

Instalación y dependencias: para un proyecto Maven con Spring Boot basta añadir la dependencia del starter Thymeleaf. Ejemplo en pom.xml en formato XML escapado: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>. Estructura típica de proyecto: src/main/java con paquetes controller, model, service y DemoApplication, y src/main/resources con templates, static y application.properties.

Sintaxis básica: Thymeleaf usa atributos que comienzan por th: para procesar plantillas. Atributos comunes: th:text para establecer texto, th:utext para texto sin escape, th:each para iteraciones, th:if y th:unless para condicionales, th:object y th:field para enlazar formularios. Enlaces a rutas se crean con expresiones como @{/ruta} y se pueden pasar parámetros con @{/ruta(param=valor)}.

Controladores en Spring Boot: en un controlador anotado con Controller se definen mapeos con @GetMapping y @PostMapping. Un método típico devuelve el nombre de la plantilla y recibe un Model para añadir atributos. Ejemplo resumido: public String home(Model model) { model.addAttribute(message, Welcome to Thymeleaf); return home; } y para formularios public String registerUser(@ModelAttribute User user, Model model) { // lógica return registration-success; }.

Modelo de datos: una clase User con atributos id, name y email, con getters y setters sirve como backing object para formularios. Para validación se usan anotaciones JSR 380 junto con @Valid y BindingResult en el controlador para gestionar errores y devolver la vista con mensajes.

Plantillas Thymeleaf: las plantillas siguen HTML estándar con atributos th:. Ejemplo de fragmentos de uso: un encabezado con th:text para mostrar un mensaje dinámico, una tabla con th:each para iterar usuarios y enlaces con th:href para navegar entre páginas. Para formularios se emplea th:object y th:field para bindear campos del modelo y #fields para mostrar errores.

Manejo de formularios y validación: crear una vista register.html con form th:action @{/register} th:object ${user} method post y campos con th:field *{name} y *{email}. En el controlador se valida con @Valid y si BindingResult tiene errores se devuelve la misma plantilla con mensajes contextuales. Tras el guardado se puede mostrar una vista de éxito.

Condicionales y bucles: usar th:if y th:unless para renderizar bloques según condiciones, y th:switch con th:case para casos múltiples. Las iteraciones con th:each permiten acceder al estado del bucle con variables de estado que ofrecen index, count, odd, even, first y last.

Layouts y fragments: Thymeleaf permite definir fragments reutilizables para header y footer y construir un layout base donde insertar contenido mediante fragmentos. Esto facilita mantener coherencia visual y reducir duplicación en vistas complejas.

Internacionalización i18n: gestionar mensajes con archivos messages.properties por idioma y usar la sintaxis #{clave} en plantillas para mostrar textos localizados. También se pueden pasar parámetros a mensajes y ofrecer un selector de idioma en la interfaz.

Configuración y propiedades: en application.properties se suelen definir puerto de servidor y opciones de Thymeleaf como spring.thymeleaf.cache false, spring.thymeleaf.prefix classpath:/templates/, spring.thymeleaf.suffix .html y configuración de mensajes spring.messages.basename messages junto con el locale por defecto.

Estructura completa recomendada: src/main/java/com/example/demo/controller con HomeController, UserController y RegistrationController; model con User; service con lógica de negocio; DemoApplication en la raíz del paquete; y en resources templates como home.html, users.html, register.html, layout.html e international.html y carpeta static para css y js.

Despliegue y ejecución: crear la aplicación Spring Boot, añadir la dependencia Thymeleaf, implementar controladores y plantillas y ejecutar con mvnw spring-boot:run o packager la app en un jar. Acceder en el navegador en la ruta raíz para comprobar las plantillas renderizadas.

Por qué elegir a Q2BSTUDIO para tus proyectos: en Q2BSTUDIO somos especialistas en desarrollo de software a medida y aplicaciones a medida, combinando experiencia en frontend y backend con prácticas de seguridad y despliegue en la nube. Ofrecemos servicios integrales que incluyen desarrollo de aplicaciones multicanal, consultoría de inteligencia artificial aplicada a empresas, ciberseguridad y pentesting, y soluciones de inteligencia de negocio como integraciones con Power BI. Si necesitas una aplicación web con Thymeleaf y Spring Boot adaptada a procesos específicos de tu empresa, podemos ayudarte desde el diseño de la arquitectura hasta la entrega y mantenimiento, incluyendo despliegue en servicios cloud como AWS y Azure y automatización de procesos.

Palabras clave y posicionamiento: este artículo aborda conceptos de aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi para mejorar la visibilidad en búsquedas relacionadas con desarrollo de soluciones empresariales.

Enlaces de interés: para proyectos de desarrollo a medida visita servicios de desarrollo de aplicaciones y software a medida y para conocer nuestras soluciones de inteligencia artificial revisa nuestra oferta de IA para empresas.

Consejos finales: empieza con una estructura de proyecto clara, utiliza plantillas limpias y fragmentadas para facilitar mantenimiento, activa el modo de desarrollo desactivando cache de Thymeleaf para ver cambios al vuelo, y aplica validación y pruebas de seguridad desde etapas tempranas. Si buscas acompañamiento para implementar una solución con Thymeleaf y Spring Boot, Q2BSTUDIO ofrece consultoría y desarrollo a medida para llevar tu idea a producción.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat