您的位置:首页 > 编程语言 > Java开发

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

2017-11-18 14:58 441 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐