SpringBoot3集成Thymeleaf的過程詳解
什么是Thymeleaf?
Thymeleaf是一款用于Web和獨(dú)立環(huán)境的現(xiàn)代化服務(wù)器端Java模板引擎。它能夠處理HTML、XML、JavaScript、CSS甚至純文本。Thymeleaf的語法簡單易懂,它允許開發(fā)者在模板中嵌入表達(dá)式,以便動(dòng)態(tài)地渲染數(shù)據(jù)。
官網(wǎng)地址:www.thymeleaf.org/
官方文檔:https://www.thymeleaf.org/doc/tutorials/3.1/usingthymeleaf.html
github地址:https://github.com/thymeleaf
開始集成Thymeleaf
首先,確保你的Spring Boot項(xiàng)目已經(jīng)建立。接下來,我們將添加Thymeleaf的依賴。在pom.xml文件中,添加以下依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
這將引入Spring Boot Thymeleaf Starter,它包含了Thymeleaf的所有必要依賴。
配置Thymeleaf
在Spring Boot應(yīng)用中,Thymeleaf的默認(rèn)配置通常已經(jīng)足夠滿足大多數(shù)需求。然而,你也可以通過在application.properties或application.yml文件中進(jìn)行配置來修改默認(rèn)設(shè)置。以下是一個(gè)基本的Thymeleaf配置示例:
spring: # 配置thymeleaf的相關(guān)信息 thymeleaf: # 開啟視圖解析 enabled: true #編碼格式 encoding: UTF-8 #前綴配置 prefix: classpath:/templates/ # 后綴配置 suffix: .html #是否使用緩存 開發(fā)環(huán)境時(shí)不設(shè)置緩存 cache: false # 格式為 HTML 格式 mode: HTML5 # 配置類型 servlet: content-type: text/html
創(chuàng)建Thymeleaf模板
在src/main/resources/templates/
目錄下創(chuàng)建Thymeleaf模板文件。例如,我們創(chuàng)建一個(gè)名為index.html的文件:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>修己</title> </head> <body> <span th:text="${name}" style="font-size: 60px;font-weight: bold;color: #00C957;font-family: 楷體,cursive">xj</span> </body> </html>
修改 html 標(biāo)簽用于引入 thymeleaf 引擎,這樣才可以在其他標(biāo)簽里使用 th:* 語法,聲明如下:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org">
創(chuàng)建Controller
現(xiàn)在,我們需要一個(gè)Controller來處理請(qǐng)求并提供數(shù)據(jù)給Thymeleaf模板。創(chuàng)建一個(gè)簡單的Controller類:
import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class TestController { @GetMapping({"/","/index"}) public String listUser(Model model){ model.addAttribute("name","修己"); return "index"; } }
注:
我們前后端分離的項(xiàng)目在controller上一般都會(huì)使用@RestController注解,@RestController 注解是 @Controller 和 @ResponseBody 注解的結(jié)合,它的作用相當(dāng)于在每個(gè)方法上都添加了 @ResponseBody,用于構(gòu)建 RESTful Web服務(wù)。使用 @RestController 注解的類,每個(gè)方法的返回值都會(huì)被直接寫入HTTP響應(yīng)體中,而不會(huì)經(jīng)過視圖解析器進(jìn)行渲染。默認(rèn)情況下,返回的是JSON格式的數(shù)據(jù),但可以通過其他注解配置以返回不同格式的數(shù)據(jù)。
@Controller 通常用于傳統(tǒng)的MVC應(yīng)用程序,其中控制器負(fù)責(zé)處理HTTP請(qǐng)求,并返回一個(gè)視圖(HTML頁面)或者通過視圖解析器解析的模型數(shù)據(jù)。Thymeleaf通常與@Controller一起使用,因?yàn)門hymeleaf模板引擎負(fù)責(zé)渲染HTML視圖。
運(yùn)行應(yīng)用
現(xiàn)在你可以運(yùn)行你的Spring Boot應(yīng)用程序。訪問http://localhost:8000 或者 http://localhost:8000/index,你應(yīng)該能夠看到渲染后的頁面,上面顯示著動(dòng)態(tài)設(shè)置的name。
語法
Thymeleaf 是一款現(xiàn)代化的服務(wù)器端Java模板引擎,專為Web應(yīng)用開發(fā)而設(shè)計(jì)。其語法清晰、易讀,廣泛支持HTML、XML、JavaScript等多種模板類型。
總結(jié)
通過集成Thymeleaf,我們能夠在Spring Boot應(yīng)用中創(chuàng)建動(dòng)態(tài)且靈活的用戶界面。Thymeleaf的簡單語法和與Spring Boot的無縫集成使得開發(fā)者能夠輕松構(gòu)建功能豐富的Web應(yīng)用。
以上就是SpringBoot3集成Thymeleaf的過程詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot3集成Thymeleaf的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java實(shí)現(xiàn)查找文本內(nèi)容替換功能示例
文本替換幾乎是所有文本編輯器都支持的功能,但是要限制在編輯其中才可以執(zhí)行該功能。本實(shí)例實(shí)現(xiàn)了制定文本文件的內(nèi)容替換,并且不需要再編輯其中打開文本文件2014-02-02servlet下載文件實(shí)現(xiàn)代碼詳解(五)
這篇文章主要為大家詳細(xì)介紹了servlet下載文件的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09JavaWeb?Servlet技術(shù)及其應(yīng)用實(shí)踐
這篇文章主要介紹了JavaWeb?Servlet技術(shù),Servlet指在服務(wù)器端執(zhí)行的一段Java代碼,可以接收用戶的請(qǐng)求和返回給用戶響應(yīng)結(jié)果,感興趣想要詳細(xì)了解可以參考下文2023-05-05Java servlet執(zhí)行流程代碼實(shí)例
這篇文章主要介紹了Java servlet執(zhí)行流程代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02使用 Redis 緩存實(shí)現(xiàn)點(diǎn)贊和取消點(diǎn)贊的示例代碼
這篇文章主要介紹了使用 Redis 緩存實(shí)現(xiàn)點(diǎn)贊和取消點(diǎn)贊的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03java編程之AC自動(dòng)機(jī)工作原理與實(shí)現(xiàn)代碼
這篇文章主要介紹了java編程之AC自動(dòng)機(jī)的有關(guān)內(nèi)容,涉及其應(yīng)用場景,運(yùn)行原理,運(yùn)行過程,構(gòu)造方法及Java中的實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11