Jsp ist die früheste Vorlagentechnologie, die zum Verarbeiten der Ansichtsebene und für Datenanzeigevorlagen verwendet wird Anfrage zum Zugriff auf a.jsp. Nach der Rückgabe der Ausgabedaten an den Browser kann der Browser die Ergebnisdaten schließlich in eine HTML-Seite übersetzen Betrachten Sie sie als String-Ersetzungen, zum Beispiel: Hier {Daten} gibt es eine Zeichenfolge, Sie ersetzen sie durch einen festen Wert oder andere Werte, aber diese Ersetzung hat einige zusätzliche Funktionen und verarbeitet die Ansichtsebene mithilfe der Vorlagentechnologie. Inhalt
Erstes Beispiel:
pom.xml: Thymeleaf-Abhängigkeit:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.bjpowernode</groupId> <artifactId>027-thymeleaf-first</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--模板引擎起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--web起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>Create Controller: HelloThymeleafController:
package com.bjpowernode.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller public class HelloThymeleafController { @RequestMapping("/hello") public String helloThymeleaf(HttpServletRequest request){ //添加数据到request作用域,模板引擎可以从request中获取数据 request.setAttribute("data","欢迎使用Thymeleaf模板引擎"); //指定视图 模板引擎使用的页面(html) //逻辑名称 return "hello"; } }templates: Wird zum Platzieren von in Vorlagen verwendeten Ansichtsdateien verwendet. Vorlagen Die von der Engine verwendeten Vorlagen werden unter der Vorlage platziert Verzeichnis:
Erstellen Sie hello.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello html</title> </head> <body> <h4>使用Thymeleaf的例子</h4> <!--使用模板th:text=""获取数据--> <p th:text="${data}">想显示数据</p> </body> </html>
Führen Sie die Hauptstartklasse aus. Anwendung:
package com.bjpowernode; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }Kann zu hello.html hinzugefügt werden: Nicht aufgelöst im Tag th, der populär geworden ist. Beim Schreiben von xmlns:th wird keine Eingabeaufforderung angezeigt ="http://www.thymeleaf.org" Im Tag wird beim erneuten Schreiben von th ein Eingabeaufforderungsdatensatz angezeigt
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>hello html</title> </head> <body> <h4>使用Thymeleaf的例子</h4> <!--使用模板th:text="${data}"获取后端request的作用域中的数据,把data数据替换文本,text表示取数据--> <p th:text="${data}">想显示数据</p> <p th:text="${data}">显示</p> </body> </html>
Use Model:
In Controller:
package com.bjpowernode.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller public class HelloThymeleafController { @RequestMapping("/hello") public String helloThymeleaf(Model model, HttpServletRequest request){ //添加数据到request作用域,模板引擎可以从request中获取数据 request.setAttribute("data","欢迎使用Thymeleaf模板引擎"); //使用model和request作用域是一样的 实际上model中的数据就是放到request作用域中的 model.addAttribute("mydata","model中的数据"); //指定视图 模板引擎使用的页面(html) //逻辑名称 return "hello"; } }
hello.html:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>hello html</title> </head> <body> <h4>使用Thymeleaf的例子</h4> <!--使用模板th:text="${data}"获取后端request的作用域中的数据,把data数据替换文本,text表示取数据--> <p th:text="${data}">想显示数据</p> <p th:text="${mydata}">显示</p> </body> </html>
Speingboot-Konfigurationsdatei application.properties: Häufig verwendete verwandte Einstellungen der Template-Engine, im Grunde sind keine Einstellungen Standard:
# Deaktivieren Sie während der Entwicklungsphase den Template-Sende-Cache. Wenn Änderungen vorgenommen werden, werden sie sofort wirksam Auf „true“ wird der Vorlagencache verwendet, und die Daten im Speicher werden nicht mehr analysiert UTF-8#Der Typ der Vorlage (der Standardwert ist HTML, die Vorlage ist eine HTML-Datei, die nicht nur Webseiten als Vorlagen, sondern auch andere Kategorien unterstützt)
spring.thymeleaf.model=HTML#Das Präfix des Vorlage: Der Standardwert ist der Klassenpfad classpath:/templates Verzeichnis
spring.thymeleaf.prefix=classpath:/templates/#Suffixspring.thymeleaf.suffix=.html
Das obige ist der detaillierte Inhalt vonBeispielanalyse der SpringBoot Thymeleaf-Vorlagen-Engine. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!