添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
有腹肌的扁豆  ·  Java 8 API ...·  2 周前    · 
爱旅游的遥控器  ·  背景 · Bootstrap v5.3·  4 月前    · 
失恋的茶壶  ·  .attr() : ...·  5 月前    · 

1.写在前面


这个属性非常常用,比如从后台传来一个对象集合那么就可以使用此属性 遍历 输出,它与 JSTL 中的 <c: forEach> 类似,此属性既可以循环遍历集合,也可以循环遍历数组及 Map

2.应用举例


2.1 遍历 数组

首先,我们准备一个 model 类。

这里使用了 lombok 下的一个注解 @Data ,它可以帮助我们自动生成 get/set 方法、 toString() 等。但是我们在这个类中是看不到的,查看的方法是:点击这个类,然后按 Alt + 7 ,即可查看。

package com.songzihao.springboot.model;
import lombok.Data;
@Data
public class User {
    private Integer id;
    private String name;
    private String phone;
    private String address;
}

image


之后,我们写一个控制层,其中有一个请求方法。

package com.songzihao.springboot.controller;
import com.songzihao.springboot.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class UserController {
    @RequestMapping(value = "/each/array")
    public String eachArray(Model model) {
        User[] userArray = new User[10];
        for (int i = 0; i < 10; i++) {
            User user = new User();
            user.setId(i);
            user.setName("宋小" + i);
            user.setPhone("1853790565" + i);
            user.setAddress("洛阳市涧西区XX路" + i + "号");
            userArray[i] = user;
        model.addAttribute("userArray",userArray);
        return "eachArray";
}

然后是这个请求方法对应的 html 页面。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>循环遍历Array数组</title>
</head>
    <div th:each="user,userStat:${userArray}">
        <span th:text="${userStat.index}"></span>
        <span th:text="${user.id}"></span>
        <span th:text="${user.name}"></span>
        <span th:text="${user.phone}"></span>
        <span th:text="${user.address}"></span>
</body>
</html>

最后在核心配置文件中添加以下内容,启动入口类,测试。

#关闭Thymeleaf页面的缓存开关
spring.thymeleaf.cache=false
#thymeleaf 模版前缀,默认值,可选项
spring.thymeleaf.prefix=classpath:/templates/
#thymeleaf 模版后缀,默认值,可选项
spring.thymeleaf.suffix=.html


package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
}

image

2.2 遍历List


model 里面的 User 类、核心配置文件、项目启动入口类和上面的例子是一样的 ,这里就不再给出代码了。

下面直接给出控制层中对应的方法和对应的 html 页面。

th:each="user, userStat : ${userList}" 中的 ${userList} 是后台传过来的集合

user :定义变量,去接收遍历 ${userList} 集合中的一个数据
userStat ${userList} 循环体的信息
其中 user userStat 自己可以随便取名
userStat 是循环体的信息,通过该变量可以获取如下信息

index: 当前迭代对象的 index (从 0 开始计算)

count: 当前迭代对象的个数(从 1 开始计算) 这两个用的较多
size:
被迭代对象的大小
current:
当前迭代变量
even/odd:
布尔值,当前循环是否是偶数 / 奇数(从 0 开始计算)
first:
布尔值,当前循环是否是第一个
last:
布尔值,当前循环是否是最后一个
注意:循环体信息 userStat 也可以不定义,则默认采用迭代变量加上 Stat 后缀,即 userStat

image

2.3 遍历Map


model 里面的 User 类、核心配置文件、项目启动入口类和上面的例子是一样的 ,这里就不再给出代码了。

下面直接给出控制层中对应的方法和对应的 html 页面。

image

最后说一下,可能这三个例子中遍历出来的结果,不太好看 😂😂😂 ,但是这里纯粹是为了学习 Thymeleaf 这个模板引擎中的内容,所以没有过多的考虑这个问题,希望大家谅解!!!

【SpringBoot】3、SpringBoot中整合Thymeleaf模板引擎
SpringBoot 为我们提供了 Thymeleaf 自动化配置解决方案,所以我们在 SpringBoot 中使用 Thymeleaf 非常方便
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(三)
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(三)
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(二)
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(二)
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(一)
狂神说SpringBoot:SpringSecurity笔记及thymeleaf静态资源(一)
在前面的章节中,壹哥 带各位利用SpringBoot实现了SSM整合,发现现在SSM整合变得的非常简单,通过几个配置就能搭建出一个项目开发环境。但是在之前的案例中,我们并没有提供UI界面,那么在SpringBoot中如何整合UI界面呢?使用JSP展示页面,还是用HTML展示页面,或者还有其他方案? 在今天的内容里,壹哥 会带大家学习如何在SpringBoot中展示UI界面,这样大家以后就可以把数据信息在页面上渲染展示了。 一. Web开发方式简介 SpringBoot作为一个简化项目开发的利器,其实它为我们提供了一套完整的Web开发方案,从前端到后端,再到数据库、定时任务、消息队列等都 SpringBoot——借助Maven多模块管理实现集成SSM、Dubbo、Thymeleaf的汇总案例
SpringBoot——借助Maven多模块管理实现集成SSM、Dubbo、Thymeleaf的汇总案例
SpringBoot——Thymeleaf中的th:inline(内敛文本text、内敛脚本javascript)
SpringBoot——Thymeleaf中的th:inline(内敛文本text、内敛脚本javascript)
SpringBoot——Thymeleaf中的四种字面量(文本、数字、布尔、null)、字符串拼接、运算符
SpringBoot——Thymeleaf中的四种字面量(文本、数字、布尔、null)、字符串拼接、运算符
SpringBoot——Thymeleaf中的条件判断(th:if、th:unless、th:switch、th:case)
SpringBoot——Thymeleaf中的条件判断(th:if、th:unless、th:switch、th:case)