说明:
springboot文章23
修改而来
pom.xml文件,核心配置文件等文件,与文章23保持一致,本文只展示最新添加的文件,以减小文章冗余,更容易看出循环的使用方法。
知识点:
1.index.html
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>index.htmltitle>
- head>
- <body>
- <h3>index.html------学习模板thymeleaf的语法h3>
- <a href="tpl/expression1">标准变量表达式a>
- <br/>
- <a href="tpl/expression2">选择变量表达式a>
- <br/>
- <a href="tpl/link">链接表达式a>
- <br/>
- <a href="tpl/eachList">循环Lista><br/>
- <a href="tpl/eachArray">循环Arraya><br/>
- <a href="tpl/eachMap">循环Mapa><br/>
-
- body>
- html>
2.ThymeleafController类



- package com.it.controller;
-
- import com.it.entity.SysUser;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
-
- import javax.jws.WebParam;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- @Controller
- @RequestMapping("/tpl")
- public class ThymeleafController {
-
-
- //标准变量表达式
- @GetMapping("/expression1")
- public String expression1(Model model){
- //添加数据到model
- model.addAttribute("site","www.baidu.com");
- model.addAttribute("myuser",new SysUser(1001,"小绿","女",22));
-
- //指定视图
- return "expression1";
- }
-
- //选择变量表达式
- @GetMapping("/expression2")
- public String expression2(Model model){
- //添加数据到model
- model.addAttribute("site2","www.bibili.com");
- model.addAttribute("myuser2",new SysUser(1002,"小王","男",26));
-
- //指定视图
- return "expression2";
- }
-
-
- //链接表达式
- @GetMapping("/link")
- public String link(Model model){
- model.addAttribute("userId",1003);
- return "link";
- }
-
- //测试链接表达式的地址
- @GetMapping("/queryAccount")
- @ResponseBody
- public String queryAccount(Integer id){
- return "queryAccount,参数id="+id;
- }
-
- //测试链接表达式有两个参数的地址
- @GetMapping("queryUser")
- @ResponseBody
- public String queryUser(String name,Integer age){
- return "queryUser,有两个参数:name="+name+",age="+age;
- }
-
-
- //循环list
- @GetMapping("/eachList")
- public String eachList(Model model){
- List
list=new ArrayList<>(); - list.add(new SysUser(1002,"张山","男",20));
- list.add(new SysUser(1003,"小明","男",20));
- list.add(new SysUser(1004,"小红","女",22));
- list.add(new SysUser(1005,"小花","女",21));
- model.addAttribute("myusers",list);
- return "eachList";
- }
-
-
- //循环数组
- @GetMapping("/eachArray")
- public String eachArray(Model model){
- SysUser userArray[]=new SysUser[3];
- userArray[0]=new SysUser(1001,"小王","男",23);
- userArray[1]=new SysUser(1002,"小李","男",22);
- userArray[2]=new SysUser(1003,"小胡","女",23);
- model.addAttribute("userarray",userArray);
- return "eachArray";
- }
-
- //循环map
- @GetMapping("/eachMap")
- public String eachMap(Model model){
- Map
map=new HashMap<>(); - map.put("user1",new SysUser(1001,"小黑","男",23));
- map.put("user2",new SysUser(1002,"小白","男",22));
- map.put("user3",new SysUser(1003,"小红","女",23));
- model.addAttribute("mymap",map);
- return "eachMap";
- }
-
-
- }
3.eachList.html
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>each循环title>
- head>
- <body>
-
- <div style="margin-left: 400px">
-
- <br/>
-
- <table border="1">
- <thead>
- <tr>
- <td>编号td>
- <td>id序号td>
- <td>nametd>
- <td>sextd>
- <td>agetd>
- tr>
- thead>
- <tbody>
- <tr th:each="user,userI:${myusers}">
- <td th:text="${userI.count}">td>
- <td th:text="${user.id}">td>
- <td th:text="${user.name}">td>
- <td th:text="${user.sex}">td>
- <td th:text="${user.age}">td>
- tr>
- tbody>
- table>
-
- div>
-
- body>
- html>
4.eachArray.html
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>each循环title>
- head>
- <body>
-
- <div style="margin-left: 400px">
- <div th:each="user:${userarray}">
- <p th:text="${user.id}">p>
- <p th:text="${user.name}">p>
- <p th:text="${user.sex}">p>
- <p th:text="${user.age}">p>
- <br/>
- <hr/>
- div>
-
- div>
-
- body>
- html>
5.eachMap.html
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>循环maptitle>
- head>
- <body>
- <div style="margin-left: 400px">
- <div th:each="map,mapStat:${mymap}">
- <p th:text="${map.key}">p>
- <p th:text="${map.value}">p>
- <p th:text="${map.value.id}">p>
- <p th:text="${map.value.name}">p>
- <p th:text="${map.value.sex}">p>
- <p th:text="${map.value.age}">p>
- <p th:text="${mapStat.count}">p>
- div>
- div>
- body>
- html>
测试:
1.list循环测试

循环遍历的数据按照原样展示输出

循环遍历的数据加上循环变量的编号,按照表格的样式进行展示

2.array循环测试

点击循环Array

3.map循环测试

点击循环Map
