English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Thymeleaf è una libreria Java open source secondo Apache License 2.0 ottenere una licenza. Questo è un HTML5/XHTML/XML motore di modello. È utilizzato per ambienti web (basati su Servlet) e non web (off-line) Java template server-sidemotore. Per lo sviluppo web JVM HTML5 moderno, è una scelta perfetta. Fornisce un'integrazione completa con il Spring Framework.
Applica una serie di trasformazioni ai file di modello per visualizzare i dati o il testo generati dall'applicazione. Adatto per fornire XHTML/HTML5 in applicazioni web.
Thymeleaf ha come obiettivo fornire un moderno和 ben formattatoIl metodo di creazione del modello. Si basa su etichette XML e attributi. Questi tag XML definiscono l'esecuzione di logica predefinita nel DOM (Document Object Model), non come codice esplicitamente scritto nel modello. Sostituisce il JSP
L'architettura di Thymeleaf permette di elaborare i template Veloce Elaborazionedipende dal file di cache解析. Utilizza il minor numero di operazioni di I/O durante l'esecuzione.
JSP è più o meno simile a HTML. Ma non è completamente compatibile con HTML come Thymeleaf. Possiamo aprire e visualizzare i file di template Thymeleaf nel browser senza problemi, mentre i file JSP non possono essere aperti.
Thymeleaf supporta espressioni variabili come Spring EL ($ {...}) e esegue operazioni sugli attributi del modello, espressioni con asterisco (* {...}) e su bean supportati nei moduli, espressioni hash (#{...}) per l'internazionalizzazione, espressioni di link (@{......}) per riscrivere gli URL.
Come JSP, Thymeleaf può essere utilizzato molto bene per email HTML ricche.
Thymeleaf può elaborare sei tipi di template (noti anche come" Modello di template) come segue:
XML XML valido XHTML XHTML valido HTML5 Vecchio HTML5
Oltre al vecchio modello HTML5, tutti i modelli menzionati sopra si riferiscono a XML definito chiaramente File. Ci permette di elaborare file HTML5 con etichette indipendenti, attributi di etichetta senza valore o senza scrittura tra virgolette.
Per elaborare i file in questo modo specifico, Thymeleaf esegue una conversione, trasformando il file in XML ben formato File (file HTML5 validi).
Thymeleaf ci permette anche di definire il nostro modello specificando due modi di analizzare i template in questo regime. In questo modo, Thymeleaf può elaborare efficacemente qualsiasi modello che può essere modellato come albero DOM.
Thymeleaf è un engine di template che ci permette di definire la struttura dei nodi DOM. I nodi DOM trattati nel template.
L'oggetto che applica la logica ai nodi DOM si chiama Elaboratori. Un insieme di elaboratori e alcune ulteriori unità di lavoro si chiamano Dialetto. Il dialetto che include la libreria di core di Thymeleaf si chiama Dialetto standard.
Se vogliamo definire la nostra logica di elaborazione personale utilizzando le funzionalità avanzate della libreria, possiamo definire il nostro dialetto. Dialetto personale. Nell'engine di template, possiamo configurare più dialetti contemporaneamente.
Il pacchetto di integrazione Thymeleaf (thymeleaf-spring3 e thymeleaf-spring4) definisce un'entità chiamata SpringStandard Dialect 的方言。标准方言和SpringStandard几乎相同。但是标准方言有一些小的变化,可以更好地利用Spring框架中的某些功能。
例如,使用Spring Expression Language代替Thymeleaf的标准ONGL(对象图导航语言)。
标准方言可以以任何方式处理模板。但是,它非常适合面向Web的模板模式(HTML5和XHTML)。它支持并验证以下XHTML规范:
XHTML 1.0过渡版 严格的XHTML 1.0 XHTML 1.0框架集 XHTML 1.1。
标准方言处理器是一种属性处理器,它允许浏览器在处理之前显示HTML5/XHTML模板文件。这是因为它们忽略了其他属性。
例如,当JSP文件使用标签库时,它包含一段代码,这些代码无法由以下浏览器显示:
<form:inputText name="student.Name" value="${student.name}" />
Thymeleaf标准方言允许我们使用以下代码实现相同的功能。
<input type="text" name=" student Name" value="Thomas" th:value="${student.name}" />
上面的代码还允许我们在其中定义 value 属性( Thomas )。在浏览器中打开原型时,将显示该值。在模板的Thymeleaf处理过程中,该属性将由对 $ {student.name} 的求值得出的值代替。
它允许设计人员和开发人员进行处理。相同的模板文件,减少了将静态原型转换为工作模板文件所需的工作。它称为 自然模板
它既可以在网络环境中使用,也可以在非网络环境中使用。 用于HTML5/XML/XHTML的Java模板引擎。 其高性能的解析模板缓存将I/O降至最低。 如果需要,它可以用作模板引擎框架。 它支持几种模板模式: XML,XHTML和HTML5。 它允许开发人员扩展和创建自定义方言。 它基于称为方言的模块化功能集。 它支持国际化。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
Creiamo un'applicazione Spring Boot e implementiamo il modello Thymeleaf.
Passaggio 1: Apri Spring Initializr http://start.spring.io .
Passaggio 2: Scegliere la versione di Spring Boot 2.3.0.M1.
Passaggio 2: 提供 Il gruppoIl nome. Abbiamo fornito com.w3codebox
Passaggio 3: 提供 L'artefatto ID. Abbiamo fornito spring-boot-thymeleaf-view-example.
Passaggio 5: Aggiungi dipendenze Spring Web 和 Thymeleaf
Passaggio 6: Clicca Generate Premere il pulsante "Genera". Quando si preme il pulsante "Genera", viene creata la confezione delle specifiche JAR dal file, e scaricalo sul sistema locale.
Passaggio 7: Estrai File JAR e incollalo nella workspace di STS.
Passaggio 8: Importa Cartella progetto di STS.
File->Import->Progetto Maven esistente->Esplora->Seleziona la cartella spring-boot-thymeleaf-view-example->Completa
L'importazione potrebbe richiedere un po' di tempo.
Passaggio 9: nel pacchetto com.w3codebox Nella cartella di creazione della classe. Abbiamo creato una classe chiamata La classe User.
In questa classe, abbiamo definito due variabili name 和 email e genera Getter e Setter.
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; } }
Passaggio 10: Creare la classe del controller. Abbiamo creato una classe chiamata DemoController la classe del controller.
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; } }
Passo successivo, creeremo il modello Thymeleaf.
Passaggio 11: In interno del modellonelle cartella (src/main/resources/模板), creare un file chiamato user-data modello Thymeleaf.
Fare clic con il tasto destro sulla cartella del modello -> Nuovo -> Altri -> File HTML -> Avanti -> Fornire un nome -> Completare
<html lang="en" xmlns:th="http://www.thymeleaf.org">
user-data.html
<html xmlns:th="https://thymeleaf.org"> <table> <tr> <td><h4>Nome Utente: </h4></td> <td><h4 th:text="${user.name}"></h4></td> </tr> <tr> <td><h4>ID Email: </h4></td> <td><h4 th:text="${user.email}"></h4></td> </tr> </table> </html>
Passo 12: Allo stesso modo, crea un file nel cartella modello: HTML file. Abbiamo creato un file chiamato index file HTML.
index.html
<html lang="en"> <head> <title>Pagina Iniziale</title> </head> <body> <form action="save" method="post"> <table> <tr> <td><label for="user-name">Nome Utente</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>
Passo 13: Apri application.properties file e aggiungi le seguenti proprietà.
application.properties
spring.thymeleaf.cache=false spring.thymeleaf.suffix: .html
Dopo aver creato tutti i file, le cartelle e i pacchetti, la directory del progetto è come segue:
Facciamo eseguire l'applicazione.
Passo 14: Apri SpringBootThymeleafViewExampleApplication.java file e come applicazione 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); } }
步骤15: 现在,打开浏览器并调用URL http://localhost:8080。它显示输出,如下所示。
提供 用户名和 电子邮件,然后单击 提交按钮。
点击 提交按钮,URL更改为http://localhost: 8080/save并显示显示用户数据,如下所示。
在本节中,我们讨论了Thymeleaf视图。如果要使视图更具吸引力,可以添加 CSS 和 JS 文件。这些文件必须位于 src/main/resources/static 文件夹内。