Fale com a gente no WhatsApp Fale com a gente no WhatsApp
Fale com a gente no WhatsApp

Java

O que é o Thymeleaf?

Neste artigo veremos o que é e os principais recursos de uma das template engines mais utilizadas no ecossistema Java, o Thymeleaf.

há 3 anos 8 meses

Formação Desenvolvedor Java
Conheça a formação em detalhes

O Thymeleaf é uma template engine para projetos Java que facilita a criação de páginas HTML. Sendo assim, ele serve para gerar páginas HTML no lado servidor de forma dinâmica, permitindo a troca de informações entre o código Java e as página HTML, de tal maneira ele garante que o desenvolvedor consiga criar templates de forma mais fácil para suas aplicações.

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

Características do Thymeleaf

Antes de mais nada a principal funcionalidade de um template engine é permitir que linguagens de programação possam ser incorporadas em páginas HTML. de tal forma, uma template engine permite que os programadores possam utilizar estruturas de condição, estruturas de repetição, herança e diversos outros recursos presentes apenas nas linguagens de programação em páginas HTML.

Analogamente o Thymeleaf não é diferente, ele permite que desenvolvedores incorporem código Java em páginas HTML e também utilizem as principais características da linguagem em seus templates.

Dentre diversas características, podemos citar as principais:

  • Permite o uso de estruturas de condição e repetição em páginas HTML;
  • Com o Thymeleaf é possível utilizar herança de layouts, garantindo uma estrutura com um maior reaproveitamento de código;
  • Permite exibir o conteúdo de variáveis Java em páginas HTML;
  • Sistema de fragmentos de templates, dentre outros.

Como o Thymeleaf funciona?

Basicamente, quando criamos um template com Thymeleaf e incorporamos código Java nas páginas HTML, a própria ferramenta traduz o código Java e incorpora à página HTML, já que o Browser não consegue exibir código diferente do HTML.

Abaixo temos um exemplo de código escrito com o Thymeleaf:

<ul>
  <li th:each="user : ${users}"	>
    <a 
      th:href="/user/{username} (username=${user.username})"
      th:text="${user.firstname} + ' ' + ${user.lastname}"
    ></a>
  </li>
</ul>

Após o processamento do template realizado pelo Thymeleaf será gerado um código HTML como o do exemplo abaixo:

<ul>
  <li>
    <a href="/user/joao_silva">João da Silva</a>
  </li>
  <li>
    <a href="/user/maria_luiza">Maria Luiza</a>
  </li>
  <li>
    <a href="/user/jose_ramos">José Ramos</a>
  </li>
  <li>
    <a href="/user/neuza_cristina">Neuza Cristina</a>
  </li>
  <li>
    <a href="/user/geraldo_santos">Geraldo Santos</a>
  </li>
</ul>

Certamente podemos notar o quão poderosa é essa ferramenta. Com ela podemos utilizar os principais recursos da linguagem de programação para a criação de páginas HTML.

Quem utiliza o Thymeleaf?

O Thymeleaf é muito utilizado em todo ecossistema Java, sendo principalmente utilizado em aplicações Spring Web MVC, um dos frameworks mais famosos do ecossistema Java para desenvolvimento de aplicações Web, além disso o Thymeleaf possui um starter oficial para o Spring Boot.

Spring Framework - Tópicos Avançados
Curso Spring Framework - Tópicos Avançados
Conhecer o curso

Conclusão

Por fim, como vimos neste artigo, o Thymeleaf é uma ótima template engine que permite a criação de páginas HTML utilizando os recursos do Java.

Agora que vimos o que é e os principais recursos do Thymeleaf, no próximo artigo exploraremos alguns destes recursos para incrementar o front-end da aplicação.

Autor(a) do artigo

Cleyson Lima
Cleyson Lima

Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python.

Todos os artigos

Artigos relacionados Ver todos