欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Thymeleaf常用语法:模板注释

程序员文章站 2023-10-29 07:59: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,界面显示如下

Thymeleaf常用语法:模板注释

  查看网页源代码,如下:

<!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,界面显示如下:

Thymeleaf常用语法:模板注释

  查看网页源代码,如下:

<!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>