th:each 遍历集合

基本语法:

<div th:each="变量名 : 集合"> <p th:text="${变量名}"></p>
</div>

示例:遍历对象集合

  • 后台代码
@Controller
public class TestController {@RequestMapping("/th")public String index(Model model) {List<Student> stuList = new ArrayList<Student>();stuList.add(new Student(2019001, "小明"));stuList.add(new Student(2019002, "小丽"));stuList.add(new Student(2019003, "小王"));model.addAttribute("stuList", stuList);return "th/index";}
}
  • 前端代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<table><tr><th>学号</th><th>姓名</th></tr><tr th:each="stu:${stuList}"><td th:text="${stu.id}">000</td><td th:text="${stu.name}">nobody</td></tr>
</table></body>
</html>
  • Student.java
package com.example.demo.bean;public class Student {private Integer id;  //学号private String name;  //姓名public Student() {}public Student(Integer id, String name) {this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
  • 运行结果:

迭代状态变量的使用

在集合的迭代过程还可以获取状态变量,只需在变量后面指定状态变量 名即可,通过状态变量的属性可获取集合的下标/序号、总数、是否为单 数/偶数行、是否为第一个/最后一个等信息。

<div th:each = "变量名,状态变量名 : 集合" > <p th:text = "${状态变量.属性}" ></p>
</div>

注:如果缺省状态变量名,则迭代器会 默认以变量名开头的状态变量 xxxStat

状态变量的属性
index:当前迭代对象的序号,从0开始,这是索引属性
count:当前迭代对象的序号,从1开始,这个是统计属性
size:迭代变量元素的总量,这是被迭代对象的大小属性
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算)
first:布尔值,当前循环是否是第一个
last:布尔值,当前循环是否是最后一个
current:当前迭代变量

  • 示例:带状态变量的遍历(加了一点样式)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<table><tr><th>序号(从0开始)</th><th>序号(从1开始)</th><th>学号</th><th>姓名</th></tr><tr th:each=" stu, stat : ${stuList}" th:class="${ stat.odd } ? 'odd' : 'even' "><td th:text=" ${ stat.index } ">0</td><td th:text=" ${ stat.count } +'/' + ${ stat.size }">1</td><td th:text="${stu.id}">000</td><td th:text="${stu.name}">nobody</td></tr>
</table>
<style> table {border-collapse: collapse;width: 500px;
}th, td {border: 1px solid blue;text-align: center;
}.odd {background-color: lightcyan; /*奇数样式*/
}.even {background-color: lightyellow; /*偶数样式*/
} </style></body>
</html>
  • 运行结果:

[JAVAEE] Thymeleaf 基本语法: 迭代循环相关推荐

  1. [JAVAEE] Thymeleaf 基本语法:常用表达式

    Thymeleaf 基本语法 常用表达式 变量表达式 ${ } 使用方法:th:xx = "${ }" 获取对象属性值给 th:xx . 后台代码: Student s=new S ...

  2. [JAVAEE] Thymeleaf 基本语法: form相关标签

    th:action 指定表单提交地址 th:value 给value属性赋值 th:field 能自动生成id.name和value属性 form表单示例 运行结果 更改数据 点击保存 控制器代码:T ...

  3. Thymeleaf基础语法

    Thymeleaf基础语法 今天学习一下Thymeleaf的基础语法. 1-引入Thymeleaf 首先,将view层页面中的html标签进行修改,然后在View层页面文件的其它标签里使用th:*动态 ...

  4. thymeleaf模板html a标签,Thymeleaf常用语法:模板片断

    Thymeleaf常用语法:模板片断 系统中的很多页面有很多公共内容,例如菜单.页脚等,这些公共内容可以提取放在一个称为"模板片断"的公共页面里面,其它页面可以引用这个 " ...

  5. 关于thymeleaf配置语法运用 以及 静态资源问题总结 2021-06-08

    在使用springBoot的时候一般用templates的包来放置静态资源,对于这个包来说它很特殊,这个包它需要导入thymeleaf的依赖才可以用它来和前后端做交互,下面将介绍一下它的使用方法: 导 ...

  6. Thymeleaf基本语法及使用方法

    目录 官网:thymeleaf使用方法 1.thymeleaf简介 2.基本语法 2.1.表达式 2.2.字面量 2.3.文本操作 2.4.数学运算 2.5.布尔运算 2.6.比较运算 2.7.条件运 ...

  7. Thymeleaf常用语法:模板片断

    系统中的很多页面有很多公共内容,例如菜单.页脚等,这些公共内容可以提取放在一个称为"模板片断"的公共页面里面,其它页面可以引用这个  "模板片断"内容. 一.模 ...

  8. Thymeleaf的语法规则

    目录 标准变量表达式${} 介绍 案例:标准变量表达式显示实体对象中的属性 选择变量表达式*{} 介绍 案例:选择变量表达式显示实体对象中的属性 案例:选择变量表达式显示实体对象中的属性 URL表达式 ...

  9. thymeleaf常用语法

    常用标签语法:①th:text<span th:text="${name}">1</span>注释:如果${name}有值则将替换掉1的值,若无则为1 ②t ...

最新文章

  1. 程序员被公司辞退12天,领导要求回公司讲代码
  2. Python单元测试框架Pyunit 的使用
  3. 机器学习算法与Python实践之(四)支持向量机(SVM)实现
  4. linux内核printk调试
  5. mysql header files_编译安装php Cannot find MySQL header files under /usr/include/mysql.
  6. 在家办公上课成强需求 钉钉峰值流量暴增百倍
  7. BZOJ2654 Tree
  8. 使用mysql遇到的异常
  9. 1694 件 AI 事件大盘点,哪些事让你记忆深刻?
  10. Worksheet Crafter Premium Edition for Mac(教学工作表制作工具)
  11. [C++ primer]优化内存分配
  12. VC知识库文章 - NT DDK的安装以及设备驱动程序的编译
  13. 基于nvidia的ffmpeg编解码加速
  14. 防止SQL注入的五种方法
  15. Java根据关键字在PDF/Word插入图片
  16. python文件查重_海量文件查重SimHash和Minhash
  17. 计算机重复文件的快捷键是,excel重复上一个操作的快捷键是什么
  18. JavaScript里的语句用分号结尾是个选项吗
  19. 对ASP.NET程序员非常有用的85个工具
  20. Pixi官方文档译文(1)

热门文章

  1. 系统遇到并发瓶颈时的优化方向
  2. rancher部署项目Validation failed in API: Deployment.apps“”must be no more than 63 characters问题原因及解决方法
  3. 点击改变div高度_css实现div两列布局(两种方法)
  4. Python第三方库jieba(中文分词)入门与进阶(官方文档)
  5. 机器学习——标准化/归一化的目的、作用和场景
  6. Cache Memory技术示例
  7. 个性化排序的神经协同过滤
  8. php7安装redis6扩展
  9. Django 上传图片和Admin站点5.2
  10. [JS]请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。