Promoção no ar
Tempo restante da oferta:
04 Horas
22 Min
59 Seg
Assinar →

Thymeleaf - Estruturas de condição e repetição

Neste artigo veremos como utilizar estruturas de condição e as estruturas de repetição da template engine Thymeleaf.

Cleyson Lima 6 anos atrás

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.

Formação Desenvolvedor Java Conhecer a formação

Estruturas de condição

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;

import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(ModelMap model) {
        Map<String, String> usuario = new HashMap<>();
        usuario.put("id", "1");
        usuario.put("nome", "João da Silva");
        usuario.put("tipo", "funcionario");

        model.addAttribute("usuario", usuario);

        return "home";
    }
}

Ao enviar a variável usuario para o template home.html, agora só é preciso verificar o valor na chave tipo:

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <title>Thymeleaf - Estruturas de Condição</title>
</head>
<body>
  <h1 th:if="${usuario.tipo == 'cliente'}">Bem-vindo cliente</h1>
  <h1 th:if="${usuario.tipo == 'funcionario'}">Bem-vindo funcionário</h1>
</body>
</html>

Agora, ao acessar o template home.html no navegador, teremos o seguinte resultado:

Página com o resultado da estrutura de condição do Thymeleaf

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.

Estrutura de repetiçã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:

package br.com.treinaweb.estruturasrepeticaocondicaothymeleaf.controllers;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(ModelMap model) {
        List<String> usuarios = new ArrayList<>();
        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");

        model.addAttribute("usuarios", usuarios);

        return "home";
    }
}

Agora, para exibir o conteúdo da variável usuarios no template, utilizamos a seguinte sintaxe:

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <title>Thymeleaf - Estruturas de Condição</title>
</head>
<body>
  <h1 th:each="usuario : ${usuarios}" th:text="${usuario}"></h1>
</body>
</html>

Agora, ao acessar o template home.html no navegador, teremos o seguinte resultado:

Página com o resultado da estrutura de repetição do Thymeleaf

As estruturas de repetição facilitam (e muito) quando precisamos exibir diversos dados e não queremos duplicidade de código, já que uma lista será percorrida e, para cada elemento, será impresso seu valor.

Curso Spring Framework - Fundamentos Conhecer o curso

Conclusão

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.

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 04h 22min 59s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora