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,界面顯示如下
查看網頁源代碼,如下:
<!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,界面顯示如下:
查看網頁源代碼,如下:
<!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>