Springboot整合thymleaf模板引擎過程解析
這篇文章主要介紹了Springboot整合thymleaf模板引擎過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
thymeleaf作為springboot官方推薦使用的模板引擎,簡單易上手,功能強大,thymeleaf的功能和jsp有許多相似之處,兩者都屬于服務(wù)器端渲染技術(shù),但thymeleaf比jsp的功能更強大。
1. thymeleaf入門
1.1 引入坐標(biāo)
<!--springBoot整合thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
1.2 編寫controller類
@GetMapping("/index") public String index(Model model){ model.addAttribute("msg","hello"); return "index"; }
1.3 前端頁面
頁面中的html標(biāo)簽必須添加這個地址,否則無法使用thymeleaf,且html標(biāo)簽內(nèi)只能寫這個網(wǎng)址,如果添加其他網(wǎng)址,則會造成頁面異常。
異常:
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <cite th:text="${msg}">王超</cite>
結(jié)果為cite標(biāo)簽里的內(nèi)容“王超”被替換為hello.
th:text 是thymeleaf的語法之一,他的作用就是文本替換。不管標(biāo)簽內(nèi)是否有內(nèi)容,都會被替換成存儲的內(nèi)容。同時也要注意 thymeleaf比較嚴(yán)格,如果標(biāo)簽取不到值就會報錯。
常見的thymeleaf便簽如下:
在實際開發(fā)中由于ModelAndView是request級別的,所以如果要在其他頁面也展示數(shù)據(jù),就需要使用session進(jìn)行存儲。最常見的就是登陸之后要在index頁面展示用戶信息。
2. thymeleaf使用session內(nèi)置對象(不推薦)
2.1 controller類
HttpServletRequest request = HttpContextUtil.getHttpServletRequest(); request.getSession().setAttribute("user", (SysUser)SecurityUtils.getSubject().getPrincipal());
2.2 前臺頁面
<cite th:text="${session.user.getUsername()}">王超</cite>
我登陸的賬號名稱是admin,所以標(biāo)簽內(nèi)的王超會被替換為admin。如果用model的話是無法獲取到username的值,頁面會報錯。
所以需要用session進(jìn)行會話存儲,但是thymeleaf不推薦使用內(nèi)置對象。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用@Autowired注解引入server服務(wù)層方法時報錯的解決
這篇文章主要介紹了使用@Autowired注解引入server服務(wù)層方法時報錯的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏詳解
在項目中有些敏感信息不能直接展示,比如客戶手機號、身份證、車牌號等信息,展示時均需要進(jìn)行數(shù)據(jù)脫敏,防止泄露客戶隱私。本文將利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏,需要的可以參考一下2023-03-03