Thymeleaf 标签学习 之 th:each 的使用

一、使用范围

支持 Iterable、Map、数组、List等


二、结构属性详解

遍历List

<div th:each="temp,status :${list}></div>
  1. ${list}:是后台传过来的要进行遍历的集合
  2. temp:${list}中的遍历的对象 【可以随便取名
  3. status:是循环体的信息,通过该变量可以获取如下遍历的状态对象 【可以随便取名
    3-1. status.index → 当前索引,从0开始
    3-2. status.count → 当前迭代对象的个数,从1开始
    3-3. status.size → 被迭代对象的长度
    3-4. status.current → 当前对象
    3-5. status.even → 当前索引是否为偶数
    3-6. status.odd → 当前索引是否为奇数
    3-7. status.first → 当前遍历对象是否是第一个
    3-8. status.last → 当前对象是否是最后一个

遍历Map

<div th:each=" temp : ${map}"></div>
  1. getKey() → 获取当前对象的key
  2. getValue() → 获取当前对象的value

二、使用详解

JAVA代码

@GetMapping(value = "/test")
public ModelAndView th2(ModelAndView model) {
    ModelAndView model1 = new ModelAndView("thymeleaf");
    // List集合作成
    List<String> list = new ArrayList<>();
    list.add("admin");
    list.add("role");
    list.add("age");
    model1.addObject("list", list);

    // Map集合作成
    Map<String, String> map = new HashMap<>();
    map.put("key1", "value1");
    map.put("key2", "value2");
    map.put("key3", "value3");
    model1.addObject("map", map);
    return model1;
}   

1.遍历List 与数组同样使用

实例:

<div th:each="temp,status : ${list}">
    <span th:text="${status.index}"></span>
    <span th:text="${status.count}"></span>
    <span th:text="${status.size}"></span>
    <span th:text="${status.current}"></span>
    <span th:text="${status.even}"></span>
    <span th:text="${status.odd}"></span>
    <span th:text="${status.first}"></span>
    <span th:text="${status.last}"></span>
    <span th:text="${temp}"></span>
</div>

Html编译结果:

索引
(index)
迭代个数
(count)
被迭代对象长度
(size)
当前对象
(current)
索引是否为偶数
(even)
索引是否为奇数
(odd)
是否是第一个
(first)
是否是最后一个
(last)
当前对象
(temp)
013adminfalsetruetruefalseadmin
123roletruefalsefalsefalserole
233agefalsetruefalsetrueage

2.遍历Map

实例:

<div th:each=" temp : ${map}">
    <span th:text="${temp}"></span>
    <span th:text=" 'key:'+ ${temp.getKey()}"></span>
    <span th:text=" 'value:'+${temp.getValue()}"></span>
</div>

Html编译结果:

当前对象(temp)当前对象的key(key)当前对象的value(value)
key1=value1key:key1value:value1
key2=value2key:key2value:value2
key3=value3key:key3value:value3

无论如何,我一定要去试一试,就算我不能证明我可以,那也要证明我不可以。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Thymeleaf是一个非常强大的模板引擎,可以很方便的进行逻辑处理和数据渲染。在Thymeleaf中,每个页面节点都可以使用变量或者控制逻辑。其中,对于循环遍历和条件判断,Thymeleaf提供了两个非常强大的功能:each和if。 一、each用法 each 是Thymeleaf中的一个循环语句,用来遍历集合或者数组中的元素。当我们需要遍历一个数组或者List集合时,就可以使用each来完成。 示例代码: ```html <ul> <li th:each="item : ${items}"> <p th:text="${item.name}"></p> </li> </ul> ``` 其中,items是一个List类型的变量,item是循环变量,可以使用其中的属性或方法。我们只需要在th:each属性中使用items变量进行指定,然后可以通过item变量来访问其中的属性或方法。 二、if用法 if用来表示一个条件语句,根据条件来判断是否执行某个操作。当我们需要进行简单的判断时,就可以使用if语句。 示例代码: ```html <div th:if="${count} > 0"> <p th:text="${count}"></p> </div> <div th:if="${count} == 0"> <p>没有数据</p> </div> ``` 其中,count是一个数字变量,根据不同的条件来显示不同的操作。通过if语句,我们可以根据不同的情况进行不同的输出。 三、each和if配合使用 在很多情况下,我们需要在循环遍历中进行条件判断。这时,就需要使用each和if配合使用。 示例代码: ```html <ul> <li th:each="item : ${items}" th:if="${item.status} == '1'"> <p th:text="${item.name}"></p> </li> </ul> ``` 其中,items是一个List类型的变量,item是循环变量,可以使用其中的属性或方法。我们需要在th:if属性中进行条件判断,根据不同的情况执行不同的操作。 总的来说,Thymeleaf提供了非常强大的循环遍历和条件判断功能,可以很方便的进行数据渲染和逻辑处理。使用Thymeleaf,我们可以更加简洁高效地完成页面开发,提高开发效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值