栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot——Thymeleaf常见属性-使用th:each遍历数组、List、Map

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot——Thymeleaf常见属性-使用th:each遍历数组、List、Map

1 th:each遍历数组

 先创建一个user表

package com.liuhaiyang.springboot.entity;

import lombok.Data;

//@Data 添加这个注解将不需要在写构造方法set、get等
public class User {
    private  Integer id;
    private  String name;
    private String phone;
    private String address;

   //set()和get方法()
}

这里说一下要是想使用@Data注解,需要在pom文件添加lombok 插件

        
            org.projectlombok
            lombok
        

核心配置文件

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

写一个controller控制层类

@Controller
public class UserController {

 @RequestMapping("/each/array")
    public String eachArray(Model model){
        User[] users=new User[10];
        for (int i=0;i<10;i++){
            User user=new User();
            user.setId(i);
            user.setName("王五"+i);
            user.setPhone("8888888888"+i);
            user.setAddress("北京丰台"+i);
            users[i]=user;
        }
        model.addAttribute("users",users);
        return "eachArray";
    }
}
eachArray 页面展示数据 



    
    循环遍历Array数组


    循环遍历Array数组(使用方法和list一样)
    
        
        
        
        
        
        
    

结果截图

 

2 th:each遍历List集合

user类请看上面

controller类

@Controller
public class UserController {

    @RequestMapping("/each/list")
    public String eachList(Model model){
        List userList=new ArrayList();
        for (int i=0;i<10;i++){
            User user=new User();
            user.setId(100+i);
            user.setName("张"+i);
            user.setPhone("12345678"+i);
            user.setAddress("河南省郑州市"+i);
            userList.add(user);
        }
        model.addAttribute("userList",userList);
        model.addAttribute("data","springboot");
        return "eachList";
    }
}

     前端页面

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

userStat 是循环体的信息,通过该变量可以获取如下信息

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

count: 当前迭代对象的个数(从 1 开始计算) 这两个用的较多
size: 被迭代对象的大小
current: 当前迭代变量
even/odd: 布尔值,当前循环是否是偶数/奇数(从 0 开始计算)
first: 布尔值,当前循环是否是第一个
last: 布尔值,当前循环是否是最后一个
 




    
    循环遍历List集合



    
        
        
        
        
        
    

xxxx xxxx xxxx

结果截图

3 th:each遍历Map集合

controller类

@Controller
public class UserController {

    @RequestMapping("/each/map")
    public String eachMap(Model model){
        Map userMap=new HashMap();
        for (int i=0;i<10;i++){
            User user=new User();
            user.setId(i);
            user.setName("李四"+i);
            user.setPhone("100000000"+i);
            user.setAddress("河北邯郸"+i);
            userMap.put(i,user);
        }
        model.addAttribute("userMaps",userMap);
        return "eachMap";
    }
}

 前端页面




    
    循环遍历Map集合



    
        
        
        
        
        
        
        
        
    

 结果截图

 

4. 综合运用

这是一个List嵌套Map嵌套list嵌套user得案例,不难,就是看着复杂。

controller类

@Controller
public class UserController {

    @RequestMapping("/each/all")
    public String eachall(Model model){
        //List->Map->list->user
        List>> myList=new ArrayList>>();
        for (int i=0;i<2;i++){
            Map> myMap=new HashMap>();
            for (int j=0;j<2;j++){
                List myUserList=new ArrayList();
                for (int k=0;k<3;k++){
                    User user=new User();
                    user.setId(k);
                    user.setName("撒旦"+k);
                    user.setPhone("999999999999"+k);
                    user.setAddress("天津"+i);
                    myUserList.add(user);
                }
                myMap.put(j,myUserList);
            }
            myList.add(myMap);
        }
        model.addAttribute("myList",myList);
        return "eachAll";
    }
}

前端页面




    
    循环遍历复杂的集合


    循环遍历复杂的集合 list->map->list->user
    
        
            Map的集合key:
            
                
                
                
                
            
        

    

结果截图

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号