English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Thymeleaf É uma biblioteca Java open-source baseada em Licença Apache2.0 Obter licença. Isso é um HTML5/XHTML/XML Mecanismo de template. É usado em ambientes web (baseado em Servlet) e não web (off-line) Template Java no servidorMecanismo. Para HTML moderno5 Para desenvolvimento web JVM, é uma escolha perfeita. Ele oferece integração completa com o Spring Framework.
Ele aplica um conjunto de conversões aos arquivos de template para exibir dados ou texto gerados pelo aplicativo. É adequado para fornecer XHTML em aplicativos web./HTML5.
O objetivo do Thymeleaf é fornecer uma Modernoe Bem formatadoMétodo de criação de templates. Ele se baseia em tags XML e atributos. Essas tags XML definem a execução de lógica pré-definida no DOM (Modelo de Objetos de Documento), em vez de escrever essa lógica explicitamente como código no template. JSP .
A arquitetura do Thymeleaf permite que os templates sejam Rápido ProcessamentoEspecificamente, depende do arquivo cacheado analisado. Durante a execução, ele usa o menor I/Operação O.
O JSP, de certa forma, é semelhante ao HTML. Mas ele não é completamente compatível com HTML como o Thymeleaf. Podemos abrir e exibir arquivos de template do Thymeleaf no navegador sem problemas, enquanto os arquivos JSP não podem.
O Thymeleaf suporta expressões de variável como o Spring EL ($ {...}) e executa em atributos do modelo, expressões de estrela (* {...}) é executado no suporte de bean do formulário, expressões de hash (#{...}) são usadas para internacionalização, expressões de link (@{......)) para reescrever URLs.
Como o JSP, o Thymeleaf pode ser usado muito bem para e-mails HTML ricos.
O Thymeleaf pode manipular seis tipos de templates (também conhecidos como Padrão de template) conforme abaixo:
XML XML válido XHTML XHTML válido HTML5 HTML da versão antiga5
Além do HTML da versão antiga5Além desses padrões, todos os outros padrões mencionados XML claramente definido Arquivo. Isso nos permite manipular HTML com atributos de tags independentes, sem valores, ou sem escrita entre aspas5Arquivo.
Para processar arquivos neste padrão específico, o Thymeleaf executa a conversão, convertendo arquivos para XML bem formatado Arquivo (HTML válido)5arquivo).}
O Thymeleaf também nos permite definir nosso próprio padrão de parsing do template especificando dois modos. Dessa forma, o Thymeleaf pode processar eficazmente qualquer modelo que pode ser modelado como uma árvore DOM.
O Thymeleaf é um motor de template que nos permite definir o framework dos nós DOM. Os nós DOM processados no template.
O objeto que aplica lógica aos nós DOM é chamado processadores. Um grupo de processadores e alguns artefatos adicionais são chamados dialeto. O dialecto que contém a biblioteca nuclear do Thymeleaf é chamado Dialeto padrão
Se quisermos definir lógica de processamento própria ao mesmo tempo que aproveitamos funcionalidades avançadas da biblioteca, podemos definir nosso próprio dialecto. Proprio dialecto. No motor de template, podemos configurar vários dialectos ao mesmo tempo.
Pacote de integração do Thymeleaf (thymeleaf-spring3e thymeleaf-spring4) define um chamado Dialeto SpringStandard O dialecto. O dialecto padrão e o SpringStandard são quase idênticos. No entanto, o dialecto padrão tem algumas pequenas mudanças que permitem melhor explorar certas funcionalidades do framework Spring.
Por exemplo, usando a Linguagem de Expressão do Spring em vez do OGNL padrão do Thymeleaf (Object Graph Navigation Language).
O dialecto padrão pode ser processado de qualquer maneira. No entanto, ele é muito adequado para o padrão de template orientado para a Web (HTML5e XHTML). Ele suporta e valida as seguintes normas XHTML:
XHTML 1.0 versão de transição XHTML estrito 1.0 XHTML 1.0 conjunto de frameworks XHTML 1.1.
O processador de dialecto padrão é um processador de propriedade que permite que o navegador exiba HTML5/Arquivo de template XHTML. Isso porque eles ignoraram outras propriedades.
Por exemplo, quando o arquivo JSP usa a biblioteca de tags, ele contém um código que não pode ser exibido pelo seguinte navegador:
<form:inputText name="student.Name" value="${student.name}" />
O dialecto padrão do Thymeleaf nos permite usar o seguinte código para alcançar a mesma função.
<input type="text" name="student Name" value="Thomas" th:value="${student.name}" />
O código acima também permite que definamos value propriedade( Thomas Ao abrir o protótipo no navegador, será exibido esse valor. Durante o processo de processamento do Thymeleaf no template, essa propriedade será substituída por ${student.name} o valor calculado substitui o valor.
Ele permite que designers e desenvolvedores manipulem o mesmo arquivo de modelo, reduzindo o trabalho necessário para transformar protótipos estáticos em modelos funcionais. Isso é chamado de Template Natural.
Ele pode ser usado tanto em ambientes de rede quanto em ambientes não rede. para HTML5/XML/Java Template Engine para XHTML. o valor calculado substitui o valor./Ele permite que designers e desenvolvedores manipulem o mesmo arquivo de modelo, reduzindo o trabalho necessário para transformar protótipos estáticos em modelos funcionais. Isso é chamado de O suporte a templates é natural. Se necessário, ele pode ser usado como um framework de mecanismo de modelo.5. Ele suporta vários padrões de modelo: XML, XHTML e HTML Ele permite que desenvolvedores estendam e criem dialectos personalizados. Ele se baseia em um conjunto de funcionalidades modulares chamado dialectos.
<dependency> <groupId>org.springframework.boot</<groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
Criamos uma aplicação Spring Boot e implementamos o modelo Thymeleaf.
Passos1: Abra o Spring Initializr http://start.spring.io .
Passos2: Escolha a versão do Spring Boot 2.3.0.M1.
Passos2: fornecer GrupoNome. Fornecemos com.w3codebox .
Passos3: fornecer Obra ID. Fornecemos spring-boot-thymeleaf-view-example.
Passos5: Adicionar dependências Spring Web e Thymeleaf.
Passos6: clique Generate (Gerar) botão. Quando clicamos no botão "Gerar", ele empacota o Jar arquivo e baixá-lo no sistema local.
o7Passo: Extrair Arquivos Jar e cole-os na área de trabalho do STS.
Passos8: Importar Pasta do projeto no STS. : Importar
Arquivo->Importar->Projeto Maven existente->Navegar->Selecione a pasta spring-boot-thymeleaf-view-example->Concluído
A importação leva um pouco de tempo.
Passos9: No pacote com.w3codebox Crie uma classe dentro. Criamos uma chamada Classe User.
Neste classe, definimos duas variáveis name e email e gera Getter e Setters.
User.java
package com.w3codebox; public class User { String name; String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
Passos10: Criamos uma classe controladora. Nós criamos uma classe chamada DemoController é a classe controladora.
DemoController.java
package com.w3codebox; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.stereotype.Controller; @Controller public class DemoController { @RequestMapping("/") public String index() { return"index"; } @RequestMapping(value="/save, method=RequestMethod.POST) public ModelAndView save(@ModelAttribute User user) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("user"-data"); modelAndView.addObject("user", user); return modelAndView; } }
No passo seguinte, criaremos o modelo Thymeleaf.
Passos11: no interno do modelo(src/main/resources/Crie um arquivo chamado user-data do modelo Thymeleaf.
Clique com o botão direito na pasta modelo->Novo->Outro->Arquivo HTML->Próximo->Forneça o nome do arquivo->Concluído
<html lang="en" xmlns:th="http://www.thymeleaf.org">
user-data.html
<html xmlns:th="https://thymeleaf.org"> <table> <tr> <td><h4>Nome do Usuário: </h4></td> <td><h4 th:text="${user.name}"></h4></td> </tr> <tr> <td><h4>ID de E-mail: </h4></td> <td><h4 th:text="${user.email}"></h4></td> </tr> </table> </html>
Passos12: Da mesma forma, crie um arquivo semelhante na pasta modelo. HTML arquivo. Criamos um arquivo chamado index arquivo HTML.
index.html
<html lang="en"> <head> <title>Página Inicial</title> </head> <body> <form action="save" method="post"> <table> <tr> <td><label for="user-name">Nome do Usuário</label></td> <td><input type="text" name="name"></input></td> </tr> <tr> <td><label for="email">Email</label></td> <td><input type="text" name="email"></input></td> </tr> <tr> <td></td> <td><input type="submit" value="Submit"></input></td> </tr> </table> </form> </body> </html>
Passos13: Abra application.properties Crie um arquivo e adicione as seguintes propriedades nele.
application.properties
spring.thymeleaf.cache=false spring.thymeleaf.suffix: .html
Após criar todos os arquivos, pastas e pacotes, a estrutura do diretório do projeto será como follows:
Vamos executar o aplicativo.
Passos14: Abra SpringBootThymeleafViewExampleApplication.java e um aplicativo Java.
SpringBootThymeleafViewExampleApplication.java
package com.w3codebox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootThymeleafViewExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringBootThymeleafViewExampleApplication.class, args); } }
Passos15: Agora, abra o navegador e chame a URL http://localhost:8080. Ele exibe a saída, conforme mostrado a seguir.
fornecer nome de usuárioe e-mail, em seguida, clique em enviarno botão.
clique enviarbotão, altere a URL para http://localhost: 8080/salvar e exibir os dados do usuário, conforme mostrado a seguir.
Nesta seção, discutimos as vistas Thymeleaf. Para tornar a vista mais atraente, você pode adicionar CSS e JS Os arquivos devem estar localizados src/main/resources/static na pasta.