Springboot整合thymleaf模板引擎過(guò)程解析
這篇文章主要介紹了Springboot整合thymleaf模板引擎過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
thymeleaf作為springboot官方推薦使用的模板引擎,簡(jiǎn)單易上手,功能強(qiáng)大,thymeleaf的功能和jsp有許多相似之處,兩者都屬于服務(wù)器端渲染技術(shù),但thymeleaf比jsp的功能更強(qiáng)大。
1. thymeleaf入門(mén)
1.1 引入坐標(biāo)
<!--springBoot整合thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
1.2 編寫(xiě)controller類(lèi)
@GetMapping("/index")
public String index(Model model){
model.addAttribute("msg","hello");
return "index";
}
1.3 前端頁(yè)面
頁(yè)面中的html標(biāo)簽必須添加這個(gè)地址,否則無(wú)法使用thymeleaf,且html標(biāo)簽內(nèi)只能寫(xiě)這個(gè)網(wǎng)址,如果添加其他網(wǎng)址,則會(huì)造成頁(yè)面異常。
異常:

<html lang="en" xmlns:th="http://www.thymeleaf.org">
<cite th:text="${msg}">王超</cite>
結(jié)果為cite標(biāo)簽里的內(nèi)容“王超”被替換為hello.
th:text 是thymeleaf的語(yǔ)法之一,他的作用就是文本替換。不管標(biāo)簽內(nèi)是否有內(nèi)容,都會(huì)被替換成存儲(chǔ)的內(nèi)容。同時(shí)也要注意 thymeleaf比較嚴(yán)格,如果標(biāo)簽取不到值就會(huì)報(bào)錯(cuò)。

常見(jiàn)的thymeleaf便簽如下:

在實(shí)際開(kāi)發(fā)中由于ModelAndView是request級(jí)別的,所以如果要在其他頁(yè)面也展示數(shù)據(jù),就需要使用session進(jìn)行存儲(chǔ)。最常見(jiàn)的就是登陸之后要在index頁(yè)面展示用戶(hù)信息。
2. thymeleaf使用session內(nèi)置對(duì)象(不推薦)
2.1 controller類(lèi)
HttpServletRequest request = HttpContextUtil.getHttpServletRequest();
request.getSession().setAttribute("user", (SysUser)SecurityUtils.getSubject().getPrincipal());
2.2 前臺(tái)頁(yè)面
<cite th:text="${session.user.getUsername()}">王超</cite>
我登陸的賬號(hào)名稱(chēng)是admin,所以標(biāo)簽內(nèi)的王超會(huì)被替換為admin。如果用model的話是無(wú)法獲取到username的值,頁(yè)面會(huì)報(bào)錯(cuò)。
所以需要用session進(jìn)行會(huì)話存儲(chǔ),但是thymeleaf不推薦使用內(nèi)置對(duì)象。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot項(xiàng)目中的視圖解析器問(wèn)題(兩種)
- Springboot視圖解析器ViewResolver使用實(shí)例
- SpringBoot超詳細(xì)講解Thymeleaf模板引擎
- springboot學(xué)習(xí)之Thymeleaf模板引擎及原理介紹
- Java SpringBoot模板引擎之 Thymeleaf入門(mén)詳解
- SpringBoot使用Thymeleaf模板引擎訪問(wèn)靜態(tài)html的過(guò)程
- SpringBoot整合模板引擎過(guò)程代碼實(shí)例
- 詳解SpringBoot+Thymeleaf 基于HTML5的現(xiàn)代模板引擎
- SpringBoot引入模板引擎實(shí)現(xiàn)視圖解析
相關(guān)文章
MyBatis-Generator的配置說(shuō)明和使用
本文主要介紹了MyBatis-Generator的配置說(shuō)明和使用的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
SpringBoot設(shè)置靜態(tài)資源訪問(wèn)控制和封裝集成方案
這篇文章主要介紹了SpringBoot靜態(tài)資源訪問(wèn)控制和封裝集成方案,關(guān)于springboot靜態(tài)資源訪問(wèn)的問(wèn)題,小編是通過(guò)自定義webconfig實(shí)現(xiàn)WebMvcConfigurer,重寫(xiě)addResourceHandlers方法,具體完整代碼跟隨小編一起看看吧2021-08-08
Spring攔截器實(shí)現(xiàn)鑒權(quán)的示例代碼
本文主要介紹了Spring攔截器實(shí)現(xiàn)鑒權(quán)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
詳解Java中二叉樹(shù)的基礎(chǔ)概念(遞歸&迭代)
二叉樹(shù)(Binary?tree)是樹(shù)形結(jié)構(gòu)的一個(gè)重要類(lèi)型。本文將通過(guò)圖片和示例代碼詳細(xì)為大家講解一下Java中的二叉樹(shù)的基礎(chǔ)概念,需要的可以參考一下2022-03-03
Java+Selenium實(shí)現(xiàn)文件上傳下載功能詳解
這篇文章主要介紹了java代碼如何利用selenium操作瀏覽器上傳和下載文件功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-01-01
如何實(shí)現(xiàn)java執(zhí)行kettle并傳參數(shù)
文章主要介紹了在審批成功后如何使用Kettle傳遞批次號(hào)參數(shù)并執(zhí)行KTR文件,同時(shí),提到了所需的主要POM依賴(lài),并強(qiáng)調(diào)了個(gè)人經(jīng)驗(yàn)的價(jià)值,鼓勵(lì)大家參考和使用2025-01-01

