Thymeleaf模板註釋分為標準HTML/XML註釋、解析層註釋、原型註釋三種。

一、註釋説明

1、標準HTML/XML註釋

直接通過瀏覽器打開,不顯示,Thymeleaf模板引擎解析也不處理,但查看網頁源代碼,註釋有在裏面。
語法: 

<!-- 內容 -->

瀏覽器界面不顯示,查看瀏覽器網頁源碼有顯示;

2、解析層註釋

直接通過瀏覽器打開,會顯示。但Thymeleaf模板引擎解析時會移除註釋標籤和裏面內容。
一般開發人員使用,減少對原型頁面的破壞。
語法:

<!--/*--> 內容 <!--*/-->

3、原型註釋

直接通過瀏覽器打開,不顯示。但Thymeleaf模板引擎解析時只移除註釋標籤,不會移除裏面內容,最後會正常輸出。
一般界面設計人員使用。
語法:

<!--/*/ 內容 /*/-->

 

二、使用實例

開發環境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8

新建一個名稱為demo的Spring Boot項目。

1、pom.xml
加入Thymeleaf依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2、src/main/java/com/example/demo/User.java

package com.example.demo;

public class User {
    Integer id;
    String name;

    public User(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

3、src/main/java/com/example/demo/TestController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.List;

@Controller
public class TestController {
    @RequestMapping("/")
    public String test(Model model){
        List<User> users = queryUsers();
        model.addAttribute("users", users);
        return "test";
    }

    private List<User> queryUsers(){
        List<User> users = new ArrayList<User>();
        users.add(new User(1,"張三"));
        users.add(new User(2,"李四"));
        users.add(new User(3,"王五"));
        return users;
    }
}

4、src/main/resources/templates/test.html 

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        table { border-collapse:collapse;}
        td { border: 1px solid #C1DAD7;}
    </style>
</head>
<body>
    <!--<div>標準HTML/XML註釋</div>-->

    <!--解析層註釋-->
    <table>
        <tr th:each="user : ${users}">
            <td th:text="${user.id}">11</td>
            <td th:text="${user.name}">小明</td>
        </tr>
        <!--/*-->
        <tr>
            <td>22</td>
            <td>小紅</td>
        </tr>
        <!--*/-->
    </table>

    <!--/*/
   <div>原型註釋</div>
    /*/-->
</body>
</html>

IDEA運行後,瀏覽器訪問:http://localhost:8080,界面顯示如下

thyemleaf模板注入_User

  查看網頁源代碼,如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        table { border-collapse:collapse;}
        td { border: 1px solid #C1DAD7;}
    </style>
</head>
<body>
    <!--<div>標準HTML/XML註釋</div>-->

    <!--解析層註釋-->
    <table>
        <tr>
            <td>1</td>
            <td>張三</td>
        </tr>
        <tr>
            <td>2</td>
            <td>李四</td>
        </tr>
        <tr>
            <td>3</td>
            <td>王五</td>
        </tr>
        
    </table>

    
   <div>原型註釋</div>
    
</body>
</html>

如果直接在瀏覽器中打開test.html,界面顯示如下:

thyemleaf模板注入_User_02

  查看網頁源代碼,如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        table { border-collapse:collapse;}
        td { border: 1px solid #C1DAD7;}
    </style>
</head>
<body>
    <!--<div>標準HTML/XML註釋</div>-->

    <!--解析層註釋-->
    <table>
        <tr th:each="user : ${users}">
            <td th:text="${user.id}">11</td>
            <td th:text="${user.name}">小明</td>
        </tr>
        <!--/*-->
        <tr>
            <td>22</td>
            <td>小紅</td>
        </tr>
        <!--*/-->
    </table>

    <!--/*/
   <div>原型註釋</div>
    /*/-->
</body>
</html>