Thymeleaf
O Thymeleaf é uma template engine que permite ao Spring servir páginas HTML, com CSS e Javascript, de forma simples e organizada.
Integração com o Spring
Para usar o Thymeleaf em uma aplicação Spring, basta importar o pacote spring-boot-starter-thymeleaf.
Organização
Os arquivos HTML devem ficar dentro da pasta resources/templates, enquanto os arquivos estáticos (CSS, Javascript, imagens, etc.), devem ficar na pasta resources/static, separando cada tipo em uma pasta (ex: resources/static/css).
Servindo um arquivo HTML
Para o Spring retornar um arquivo HTML como resposta à uma requisição, basta que ele retorne uma string com o nome do arquivo HTML:
redirect
Quando precisamos fazer um redirecionamento (ex: dados foram salvos e o usuário deve ser redirecionado para a tela de listagem), basta retornar "redirect:/url-destino".
ModelAndView
Porém, quando precisamos criar páginas HTML que utilizam valores de objetos (por exemplo, a página precisa de uma lista de usuários para criar uma tabela com os dados dos mesmos), devemos usar o ModelAndView.
Na instanciação do mesmo, passamos o nome do arquivo HTML (podemos passar inclusive um redirect).
Para passar os objetos, basta chamar o método addObject("referênciaNoHtml", obj). Conforme descrito, o primeiro parâmetro será a referência ao objeto no HTML, enquanto o segundo é o objeto em si.
Acessando objetos no HTML
Para acessar os objetos no HTML, basta usar ${referênciaObjeto.atributo}. O Thymeleaf também fornece atributos específicos para cada elemento HTML para os casos onde é necessário inserir um valor de um objeto:
Formatação
Para que o Thymeleaf considere a formatação específica de um atributo conforme definido na classe (ex: a formatação de uma data usando @DateTimeFormat), usamos duas chaves: ${{referênciaObjeto.atributo}}.
Comentários
Postar um comentário