Spring Boot筆記六:Thymeleaf介紹
阿新 • • 發佈:2019-02-01
public 語法 art 我想 xmlns person 得到 templates 我們
目錄
- 什麽是thymeleaf?
- 創建最簡單的thymeleaf
- thymeleaf語法
什麽是thymeleaf?
thymeleaf是一個模板引擎,是用來在Spring Boot中代替JSP的
引用thymeleaf
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
控制thymeleaf的版本號(thymelaf3以上的話,layout必須2以上才支持)
<properties>
<thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>
創建最簡單的thymeleaf
thymeleaf默認的路徑是classpath://templates,必須是這個路徑才能識別
我們在templates文件夾下面新建一個Vae.html,然後在Controller裏面寫一個方法去調用這個html
@RequestMapping("/Vae")
public String thymeleafTest(){
return "Vae";
}
點擊運行,如圖:
完美,我們已經新建了一個最簡單的thymeleaf了
thymeleaf語法
可以去官網下載文檔查看
- 寫一個hello傳到html,我的Controller改為這樣
@RequestMapping("/Vae") public String thymeleafTest(Map<String,Object> map){ map.put("hello","你好"); return "Vae"; }
前端的html需要做兩個地方
- 引入thymeleaf的聲明,這樣寫thymeleaf就會有提示
<html xmlns:th="http://www.thymeleaf.org">
- 用thymeleaf
<div th:text="${hello}">歡迎</div>
寫完之後,整個前端html就是這樣
<html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<h1>thymeleaf許嵩</h1>
<div th:text="${hello}">歡迎</div>
</body>
</html>
重啟,再來訪問,如圖:
非常好,寫th:text後面的${},讓我想起來了JSP裏面的EL。可以發現我裏面用了thymeleaf,將會得到“你好”二字,如果我們將這個html拷貝到項目外面會,顯示的就是歡迎了,這表明了一件事
含有thymeleaf語法的html文件只有經過thymeleaf模板解析之後生效,項目之外就變成一個普通的HTML了
- th可以替換任意的HTML元素
<div id="${hello}" class="${hello}" th:text="${hello}"></div>
- thymeleaf表達式
${}:這個我們已經用過了,就是取值的
*{}:這個是代指${},例如Person類有name屬性,${Person.name}=*{name}
#{}:獲取國際化內容
@{}:定義url的,例如 @{https://localhost:8080(id=${Id})}
~{}:片段引用表達式
Spring Boot筆記六:Thymeleaf介紹