Thymeleaf常用语法:模板注释
程序员文章站
2023-12-27 20:25:39
模板注释分为标准HTML/XML注释、解析层注释、原型注释三种。 ......
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>