Thymeleaf - Estruturas de condição e repetição | Blog TreinaWeb
Neste artigo veremos como utilizar estruturas de condição e as estruturas de repetição da template engine Thymeleaf.
Vimos no último artigo dessa série como enviar e exibir variáveis Java em templates com o Thymeleaf. Continuando a série, agora veremos como utilizar estruturas de condição e repetição no Thymeleaf.
Para utilizar estruturas de condição no Thymeleaf é bem simples. Imagine que temos, em uma variável, a representação de um usuário com seu ID, nome e tipo do usuário (cliente ou funcionário) e queremos exibir em um template a frase "Bem-vindo cliente" ou "Bem-vindo funcionário" a depender do seu tipo.
Este é um exemplo claro do uso de estruturas condicionais no Thymeleaf:
package br.com.treinaweb.estruturasrepeticaocondicaothymeleaf.controllers;
Map<String, String> usuario = new HashMap<>();
usuario.put("id", "1");
usuario.put("nome", "João da Silva");
usuario.put("tipo", "funcionario");
Ao enviar a variável usuario para o template home.html, agora só é preciso verificar o valor na chave tipo:
<title>Thymeleaf - Estruturas de Condição</title>
<h1 th:if="${usuario.tipo == 'cliente'}">Bem-vindo cliente</h1>
<h1 th:if="${usuario.tipo == 'funcionario'}">Bem-vindo funcionário</h1>
Agora, ao acessar o template home.html no navegador, teremos o seguinte resultado:
A sintaxe das estruturas de condição no Thymeleaf é bem simples, basta colocar o atributo th:if na tag em que deseja condicionar a exibição.
O uso de estruturas de repetição também é algo muito simples no Thymeleaf. Imagine que temos uma lista de nomes de usuários e queremos percorrê-la para exibir em nossa página.
Para isso, basta utilizar um forEach e percorrer toda a lista exibindo os nomes como podemos ver abaixo:
usuarios.add("Isabela Rosa Eliane Carvalho");
usuarios.add("Luna Stella Freitas");
usuarios.add("Edson Luís Gael Caldeira");
usuarios.add("Aline Mariana Nicole Lima");
usuarios.add("Kauê Kaique Brito");
<h1 th:each="usuario : ${usuarios}" th:text="${usuario}"></h1>
Como vimos neste artigo, o uso de estruturas de condição e repetição no Thymeleaf é bem simples e facilita (e muito) a criação dos templates em uma aplicação Spring Boot. No próximo artigo dessa série, veremos como utilizar o Thymeleaf Fragments, um ótimo recurso para reaproveitamento de código em nossos templates.