java鬼混笔记:springboot之thymeleaf 3:th:each遍历

本文介绍如何使用Thymeleaf模板引擎中的th:each属性进行数据遍历,并展示了如何获取遍历过程中的额外信息如下标、奇偶等。

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

jsp里面有个c:foreach遍历,thymeleaf里面也有th:each

来个装简单的遍历,先看java代码

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		
Map<String, Object> m = new HashMap<String, Object>();
m.put("name", "name1");
m.put("age", "1");
list.add(m);

m = new HashMap<String, Object>();
m.put("name", "name2");
m.put("age", "2");
list.add(m);

m = new HashMap<String, Object>();
m.put("name", "name3");
m.put("age", "3");
list.add(m);

m = new HashMap<String, Object>();
m.put("name", "name4");
m.put("age", "4");
list.add(m);

m = new HashMap<String, Object>();
m.put("name", "name5");
m.put("age", "5");
list.add(m);
model.addAttribute("list", list);

接着看html写法:

简单遍历:
<table border="1">
	<tr th:each="m : ${list}"><!-- 其中m是个临时变量,像for(User u : userList)那样中的u-->
		<td th:text="${m.name}"/>
		<td th:text="${m.age}"/>
	</tr>
</table>

除了遍历,我们还可以拿到遍历的其他信息,比如下标,单行双行,这时要有一状态变量,假设命名为:iterStat,那么从iterStat中可获取的信息如下:

// 来自官网:
当前迭代索引,从0开始。这是index属性。
当前迭代索引,从1开始。这是count属性。
迭代变量中的元素总数。这是size财产。
每个迭代的iter变量。这是current财产。
目前的迭代是偶数还是奇数。这些是even/odd布尔属性。
目前的迭代是否是第一个。这是first布尔属性。
目前的迭代是否是最后一个。这是last布尔属性。

看html:

<table border="1">
	<tr th:each="m,iterStat : ${list}">
		<td th:text="|下标:${iterStat.index} 下标是不是单数:${iterStat.odd}|"/>
		<td th:text="${m.name}"/>
		<td th:text="${m.age}"/>
	</tr>
</table>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值