文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot自带模板引擎Thymeleaf使用详解②

2023-10-21 07:30

关注

目录

一、条件判断和迭代遍历

1.1 条件判断

2.2 迭代遍历

二、获取域中的数据和URL写法

2.1 获取域中的数据

2.2 URL写法

三、相关配置


一、条件判断和迭代遍历

1.1 条件判断

语法 作用
th:if 条件判断

准备数据

model.addAttribute("sex","男");

使用实例


    这是女生
    这是男生

运行结果: 

当然还有th:case也是相当于Java中的switch

添加数据

model.addAttribute("id",2);

使用实例


    id为1
    id为2
    id为3
    id为*

运行结果

2.2 迭代遍历

编写实体类

package com.example.springbootdemo2.pojo;public class User {    private int id;    private String name;    private int age;    public User() {    }    public User(int id, String name, int age) {        this.id = id;        this.name = name;        this.age = age;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

准备数据

// 添加List列表集合
User user1 = new User(1,"张三",100);
User user2 = new User(2,"李四",90);
User user3 = new User(3,"王五",60);
User user4 = new User(4,"老六",29);
List users = new ArrayList<>();
users.add(user1);
users.add(user2);
users.add(user3);
users.add(user4);
model.addAttribute("users",users); 

在页面中展示数据且配合状态变量

thymeleaf将遍历的状态变量封装到一个对象中,通过该对象的属性可以获取状态变量:

状态变量常用属性
状态变量含义
index当前迭代器的索引,从0开始
count当前迭代对象的计数,从1开始
size被迭代对象的长度
odd/even布尔值,当前循环是否是偶数/奇数,从0开始
first布尔值,当前循环的是否是第一条,如果是返回true,否则返回false
last布尔值,当前循环的是否是最后一条,如果是则返回true,否则返回false

使用实例


   
       
       
       
       
       
       
       
       
       
       
   
   
       
       
       
       
       
       
       
       
       
       
   
id姓名年龄当前迭代器的索引,从0开始当前迭代对象的计数,从1开始被迭代对象的长度布尔值,当前循环是否是偶数,从0开始布尔值,当前循环是否是奇数,从0开始布尔值,当前循环的是否是第一条,如果是返回true,否则返回false布尔值,当前循环的是否是最后一条,如果是则返回true,否则返回false

运行结果: 

遍历Map

准备数据

// 添加map集合数据
Map userMap = new HashMap<>();
userMap.put("user1",user1);
userMap.put("user2",user2);
userMap.put("user3",user3);
userMap.put("user4",user4);
model.addAttribute("userMap",userMap);

使用实例 


   
       
       
       
       
   
   
       
       
       
       
   
IDNameAgeKey

运行结果: 

二、获取域中的数据和URL写法

2.1 获取域中的数据

thymeleaf也可以获取request,session,application域中的数据,方法如下:

准备数据

// 往request域设置数据
req.setAttribute("req","request");
// 往response域设置数据
session.setAttribute("session","session");
// 往application域设置数据
session.getServletContext().setAttribute("app","application");

使用实例

request域获取方式1:
request域获取方式2:



session域获取方式1:
session域获取方式2:


application域获取方式1:
application域获取方式2:

运行结果:

2.2 URL写法

在Thymeleaf中路径的写法为 @{路径},同样也可以在路径中添加参数,使用RestFul样式URL。

准备数据

model.addAttribute("id",100);
model.addAttribute("name","lyl");

添加跳转路径

@GetMapping("/show2")
@ResponseBody
public String showPage2(String id,String name){
    return id+":"+name;
}

// @RestFul风格传递参数
@GetMapping("/show3/{id}/{name}")
@ResponseBody
public String showPage3(@PathVariable String id,@PathVariable String name){
    return id + ":" + name;
}

使用实例

百度
静态参数一
静态参数二
动态参数一
动态参数二
RestFul风格传递参数


运行结果

三、相关配置

在Springboot配置文件中可以进行Thymeleaf相关配置

thymeleaf相关配置项
配置项含义
spring.thymeleaf.prefix视图前缀
spring.thymeleaf.suffix视图后缀
spring.thymeleaf.encoding编码格式
spring.thymeleaf.servlet.content-type响应类型
spring.thymeleaf.cache=false页面缓存,配置为false则不启用页面缓存,方便测试

来源地址:https://blog.csdn.net/qq_53317005/article/details/133147800

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯