Thymeleaf-常用属性

本文详细介绍了Thymeleaf模板引擎的各种属性,包括th:action、th:each、th:href等,以及如何在HTML中使用这些属性来实现动态内容的展示、循环遍历、条件判断等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、th:action

二、th:each

1、List遍历

2、详解

注意

3、Map遍历

4、数组遍历

三、th:href

四、th:id

五、th:if

六、th:unless

七、th:switch

八、th:object

九、th:src

 十、th:text

 十一、th:value


Thymeleaf内置了许多属性,包括超链接使用的href属性、表单提交使用的action属性、遍历集合使用的each属性等,方便我们对模板进行修改,熟记这些常用属性,可以帮我们解决开发中大多数问题。


一、th:action

定义后台控制器的路径,类似<form>标签的action属性,比如:

<form id="login" th:action="@{|/login/${}|}">......</form>

二、th:each

 这个属性非常常用,比如从后台传来一个对象集合那么就可以使用此属性遍历输出,它与JSTL中的<c: forEach>类似,此属性既可以循环遍历集合,也可以循环遍历数组及Map,比如:

1、List遍历

<tr th:each="user, interStat : ${userlist}">
    <td th:text="${interStat.index}"></td>
    <td th:text="${user.id}"></td>
    <td th:text="${user.nick}"></td>
    <td th:text="${user.phone}"></td>
    <td th:text="${user.email}"></td>
    <td th:text="${user.address}"></td>
</tr>

2、详解

以上代码解读如下:

th:each="user, iterStat : ${userlist}" 中的 ${userList} 是后台传来的Key,
user是${userList} 中的一个数据,
iterStat 是 ${userList} 循环体的信息,
其中user及iterStat自己可以随便写;

 

interStat是循环体的信息,通过该变量可以获取如下信息:

index、size、count、even、odd、first、last,其含义如下:

index: 当前迭代对象的index(从0开始计算)
count: 当前迭代对象的个数(从1开始计算)
size: 被迭代对象的大小
current: 当前迭代变量
even/odd: 布尔值,当前循环是否是偶数/奇数(从0开始计算)
first: 布尔值,当前循环是否是第一个
last: 布尔值,当前循环是否是最后一个

 

注意

循环体信息interStat也可以不定义,则默认采用迭代变量加上Stat后缀,即userStat

3、Map遍历

<div th:each="myMapVal : ${myMap}">
    <span th:text="${myMapVal.key}"></span>
    <span th:text="${myMapVal.value}"></span>
    <br/>
</div>

${myMapVal.key} 是获取map中的key,${myMapVal.value} 是获取map中的value;

4、数组遍历

<div th:each="myArrayVal : ${myArray}">
    <div th:text="${myArrayVal}"></div>
</div> 

 

三、th:href

定义超链接,如

<a    th:href="@{|/login/${user.id}|}">登录</a>

四、th:id

定义id

<span th:id="${user.id}">myId</span>

五、th:if

用作条件判断

<span th:if="${user.sex} == 1" >
	男:<input type="radio"   th:value="男" />
</span>
<span th:if="${user.sex} == 2">
	女:<input type="radio"  th:value="女"  />
</span>

六、th:unless

th:unless是th:if的一个相反操作,上面的例子可以改写为

<span th:unless="${user.sex} == 1" >
	女:<input type="radio"  th:value="女" />
</span>
<span th:unless="${user.sex} == 2">
	男:<input type="radio" th:value="男"  />
</span>

七、th:switch

常常用th:case使用,判断语句

<div th:switch="${user.sex}">
  <p th:case="1">男</p>
  <p th:case="2">女</p>
  <p th:case="*">外星人</p>
</div>

八、th:object

用于变量选择绑定对象

<div th:object="${user}">
    <div th:text="*{id}">pojo类</div>
    <div th:text="*{name}">pojo类</div>
</div>

九、th:src

用于外部资源引入,比如<script>标签的src属性,<img>标签的src属性,常与@{}表达式结合使用

<img th:src="@{|/static/image/logo.png/${}|}"/>

 十、th:text

用于文本的显示

<input type="text" id="realName" name="reaName" th:text="${realName}">

 十一、th:value

类似html标签中的value属性,能对某元素的value属性进行赋值

<input type="hidden" id="userId" name="userId" th:value="${userId}">

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值