1. 程式人生 > >Spring Boot筆記六:Thymeleaf介紹

Spring Boot筆記六:Thymeleaf介紹

public 語法 art 我想 xmlns person 得到 templates 我們

目錄

  • 什麽是thymeleaf?
  • 創建最簡單的thymeleaf
  • thymeleaf語法

什麽是thymeleaf?

thymeleaf是一個模板引擎,是用來在Spring Boot中代替JSP的

  1. 引用thymeleaf

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
  2. 控制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語法

可以去官網下載文檔查看

  1. 寫一個hello傳到html,我的Controller改為這樣
    @RequestMapping("/Vae")
    public String thymeleafTest(Map<String,Object> map){
        map.put("hello","你好");
        return "Vae";
    }

前端的html需要做兩個地方

  1. 引入thymeleaf的聲明,這樣寫thymeleaf就會有提示
<html xmlns:th="http://www.thymeleaf.org">
  1. 用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了

  1. th可以替換任意的HTML元素
<div id="${hello}" class="${hello}" th:text="${hello}"></div>
  1. thymeleaf表達式
${}:這個我們已經用過了,就是取值的
*{}:這個是代指${},例如Person類有name屬性,${Person.name}=*{name}
#{}:獲取國際化內容
@{}:定義url的,例如 @{https://localhost:8080(id=${Id})}
~{}:片段引用表達式

Spring Boot筆記六:Thymeleaf介紹