thymeleaf双重循环_Thymeleaf List指定数量循环

博客介绍了如何在Thymeleaf模板中处理Map对象,并根据需要显示指定数量的元素。由于项目需求,后端查询的数据存储于Map中,而前端可能需要显示Map中的一部分数据。通过使用Thymeleaf的迭代状态变量,如index、count等,可以实现动态控制循环次数,从而达到只显示前n个元素的目的,避免了修改后端数据结构的需要。
摘要由CSDN通过智能技术生成

问题

项目使用Thymeleaf模板,后端查询10条数据,但根据不同页面可能会显示其中3条或5条。因此有了List指定数量循环的需求,数量由模板决定,而非后端。

解决

不知道是不是搜索关键字的问题还是问题太简单的原因,网上找到一些都是这种

1${#numbers.sequence(0,3)}

通过Thymeleaf numbers函数进行截取的解决方案。此方案对本项目不适用,因为它要求传入的数据模型就是List,函数会直接截取该List,而项目使用的是更复杂的Map对象。

看了一下Thymeleaf文档,可以使用List的状态变量加以判断来解决这种问题。

1

2

3

4

标题

以上代码使得无论testList实际有多长,最多只有前3个会被使用到。

其中th:each第二个变量就是迭代的状态变量,本文命名的是itemStat。状态变量有如下属性:

index: 当前迭代索引,从0开始。

count: 当前迭代索引,从1开始。

size: 迭代变量中的元素总数。

current: 每个迭代的iter变量, 和本文中的item一样。

even/odd: 当前迭代是偶数还是奇数,布尔值。

first: 在当前的迭代中是否是第一个,布尔值。

last: 在当前的迭代中是否是最后一个,布尔值。

使用 th:if 加 count比较 即可约束后续内容显示。

Thymeleaf相关链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值