English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Thymeleaf SpringBoot

O que é o Thymeleaf?

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.

Por que usamos o Thymeleaf?

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 qual tipo de template?

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).}

Atenção: No Thymeleaf, a validação é aplicável apenas aos templates XHTML e XML.

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.

Dialeto padrão

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.

Recursos Thymeleaf

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.

Ele suporta internacionalização.

Thymeleaf implementação   spring-boot-starter-thymeleaf Para implementar o mecanismo de modelo Thymeleaf, adicionamos dependências no arquivo pom.xml do aplicativo. O Spring Boot configura o mecanismo de modelo para ler arquivos de modelo a partir de  /resource/Ler arquivos de modelo a partir do diretório templates.
<dependency>
<groupId>org.springframework.boot</<groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
 

Exemplo Spring Boot Thymeleaf

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

Atenção: Não se esqueça de implementar o seguinte conteúdo no arquivo de modelo.
<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.