Thymeleaf常用语法:HTML属性设置

使用Thymeleaf的属性来设置HTML属性。
(1)使用th:attr属性可以修改原来HTML节点的属性;
(2)th:attr属性可以同时设置多个属性;
(3)每一个HTML属性都有对应的Thymeleaf属性,如th:attr="value=‘值‘"可换为th:value="值"
(4)HTML的type为checkbox、readonly、required、disabled的,Thymeleaf属性可写为th:checked="true/false"形式;
(5)使用th:attrappend和th:attrprepend分别在HTML属性的后面或前面加入数据;
(6)使用th:styleappend和th:classappend分别向原有style、class属性添加样式;
(7)HTML5自定义属性以“data-”作为前缀,Thymeleaf同样支持自定义属性,例如可以使用“data-th-text”代替
“th:text”,使用“data-th-each”代替“th:each”;

开发环境: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/TestController.java

package com.example.demo;

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

@Controller
public class TestController {
    @RequestMapping("/")
    public String test(){
        return "test";
    }
}

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form th:id="form1" th:attr="method=‘post‘,[email protected]{/user/save}">
    <input type="text" value="值1" th:value="值2" />
    <input type="text" th:readonly="true" />
    <input type="text" th:disabled="true" />
    <input type="checkbox" th:checked="true" />
    <input type="checkbox" th:checked="false" />
    <div id="div1" th:attrappend="id=‘-data‘" style="text-align: center;"  th:styleappend="‘color:#ccc‘"></div>
    <div id="div2" th:attrprepend="id=‘data-‘" class="class1" th:classappend="class2"></div>

    <input id="user" type="text" data-person-name="lc" data-age="30"/>
    <div data-th-text="hello"></div>

    <script>
        var obj = document.getElementById("user");
        //获取HTML5属性值的2种方式,用dataset方式时,如果名称带连字符则使用时需驼峰化
        var s = obj.dataset.personName + "," + obj.getAttribute("data-age");
        alert(s);
    </script>

</form>

</body>
</html>

浏览器访问:http://localhost:8080

页面弹出:lc,30
右键查看网页源代码,生成的HTML源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form id="form1" method="post" action="/user/save">
    <input type="text" value="值2" />
    <input type="text" readonly="readonly" />
    <input type="text" disabled="disabled" />
    <input type="checkbox" checked="checked" />
    <input type="checkbox" />
    <div id="div1-data" style="text-align: center; color:#ccc"></div>
    <div id="data-div2" class="class1 class2"></div>

    <input id="user" type="text" data-person-name="lc" data-age="30"/>
    <div>hello</div>

    <script>
        var obj = document.getElementById("user");
        //获取HTML5属性值的2种方式,用dataset方式时,如果名称带连字符则使用时需驼峰化
        var s = obj.dataset.personName + "," + obj.getAttribute("data-age");
        alert(s);
    </script>

</form>

</body>
</html>

原文地址:https://www.cnblogs.com/gdjlc/p/11688981.html

时间: 2024-10-27 17:09:20

Thymeleaf常用语法:HTML属性设置的相关文章

Thymeleaf常用语法:表达式语法之运算符

Thymeleaf表达式语法之常量分为字符串常量.数字常量.布尔值常量.空值常量:运算符分为算术运算符.关系运算符.条件运算符.无操作符. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 1.pom.xml加入Thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI

Linux gcc支持的语法 __attribute__ 属性设置

__attribute__实际上是gcc专有的一种语法,是用来设置函数属性.变量属性.类属性的 语法:之前在C中的结构体对齐中提到过,当时是用来告诉编译器这个结构体的对齐方式 ,其实他还有很多种用法,可以设置很多的属性.语法: __attribute__ (parameter)对于变量: int a __attribute__ ((xxxxx)) = 10; //也可以放在变量的前面,比较灵活 int a __attribute__ ((xxxxx)); // 也可以放在变量的前面,比较灵活对于

Thymeleaf常用语法:模板片断

系统中的很多页面有很多公共内容,例如菜单.页脚等,这些公共内容可以提取放在一个称为“模板片断”的公共页面里面,其它页面可以引用这个 “模板片断”内容. 一.模板片断的定义 可以是html标签,也可以使用th:fragment属性定义片断. 二.引用片断 1.使用th:insert属性插入片断,除此之外,还可以使用th:replace和th:include插入.语法:(1) th:insert="~{模板名称}"插入模板的整个内容 (2) th:insert="~{模板名称::

Thymeleaf常用语法:条件判断 if、switch case

if语句条件判断使用th:if,它会判断表达式是否成立,表达式的结果支持boolean.number.character.String及其他类型.满足下面情况下,if语句成立:(1) 表达式的结果是数字且不是0(2) 表达式的结果是字符串且不是false.off.no.0(3) 表达式的结果是其他数据类型switch case语句(1) 类似Java的switch case语句:th:switch.th:case(2) 使用th:case="*"来表示默认值(3) 如果第一个th:ca

Thymeleaf常用语法:数据延迟加载

在处理模板时,可以由模板逻辑决定是否加载数据,以提高性能.在Spring Boot控制器中设置数据时,使用LazyContextVariable可以实现这功能. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 1.pom.xml加入Thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> &l

Thymeleaf常用语法:模板注释

Thymeleaf模板注释分为标准HTML/XML注释.解析层注释.原型注释三种. 一.注释说明 1.标准HTML/XML注释 直接通过浏览器打开,不显示,Thymeleaf模板引擎解析也不处理,但查看网页源代码,注释有在里面.语法: <!-- 内容 --> 浏览器界面不显示,查看浏览器网页源码有显示: 2.解析层注释 直接通过浏览器打开,会显示.但Thymeleaf模板引擎解析时会移除注释标签和里面内容.一般开发人员使用,减少对原型页面的破坏.语法: <!--/*--> 内容 &

Thymeleaf常用语法:自定义数据转换类

在模板文件中,可以使用“${{...}}”表达式进行数据转换,Thymeleaf会使用配置好的数据转换类,来实现转换.例如一个User对象,简单起见假设有姓名和年龄两个字段,对象的toString()方法拼接所有字段,使用“${user}”会调用对象的 toString()方法得到所有字段,如果在模板中只想得到姓名,可以使用自定义数据转换类实现. 在Sprint Boot中,实现过程:(1)先实现自定义的Formatter类,并根据具体业务实现数据转换逻辑:(2)将自定义的Formatter类注

Thymeleaf常用语法:使用星号表达式

在处理模板时,一般情况都是使用变量表达式 ${...} 来显示变量,还可以使用选定对象表达式 *{...},它也称为星号表达式.如果在模板中先选定了对象,则需要使用星号表达式.Thymeleaf的内置对象#object效果等同于星号表达式. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 1.pom.xml加入Thymeleaf依赖 <dependency> <groupId>org

redis常用语法命令

中文文档: http://redis.cn/commands.htmlredis常用语法命令1 设置keyset key value例如: set name "s_jun"设置多个key valuemset name "s_jun" age 19 sex man设置key的过期时间(ex:为秒单位)set game 'DNF' ex 5取值get key (取单个值)or mget key1 key2...key9(取多个值)2 删除keydel key1 key2