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類
@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è)面展示用戶信息。
2. thymeleaf使用session內(nèi)置對(duì)象(不推薦)
2.1 controller類
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)名稱是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)文章
SpringBoot項(xiàng)目配置明文密碼泄露問(wèn)題的處理方式
這篇文章主要介紹了SpringBoot項(xiàng)目配置明文密碼泄露問(wèn)題的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決
這篇文章主要介紹了使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11解決IDEA刪除子模塊并重建后MAVEN無(wú)法識(shí)別的問(wèn)題
這篇文章主要介紹了解決IDEA刪除子模塊并重建后MAVEN無(wú)法識(shí)別的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02springboot項(xiàng)目部署到k8s上的方法步驟
本文主要介紹了springboot項(xiàng)目部署到k8s上的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Java利用Jackson序列化實(shí)現(xiàn)數(shù)據(jù)脫敏詳解
在項(xiàng)目中有些敏感信息不能直接展示,比如客戶手機(jī)號(hào)、身份證、車(chē)牌號(hào)等信息,展示時(shí)均需要進(jìn)行數(shù)據(jù)脫敏,防止泄露客戶隱私。本文將利用Jackson序列化實(shí)現(xiàn)數(shù)據(jù)脫敏,需要的可以參考一下2023-03-03