Thymeleaf中th:each及th:if使用方法解析

 更新时间:2020年08月31日 14:46:15   作者:白熊啊  
这篇文章主要介绍了Thymeleaf中th:each及th:if使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、th:each

作用:用于遍历controller层发送过来的集合。

例:

Controller代码:

@Controller
public class HelloController {
  @RequestMapping("/success")
  public String success(Map<String,Object> map){
    map.put("users", Arrays.asList("张三","李四","王五"));
    return "success";
  }
}

下面我们通过th:each属性在html页面将其遍历显示出来

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <h4 th:text="${user}" th:each="user:${users}"></h4>
</body>
</html>

讲解:

th:each="user:${users}"

  其中${users}是将取出名为users的List集合,每次遍历取出List集合中的一个元素赋值给user

注意:th:each每次遍历都会生成一个包含它的标签,如我们举的这个例子,users中一共有三个元素,所以会遍历三次,每次都会生成一个h4标签

二、th:if

Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素

<p th:if="${testBoolean}" >如果testBoolean 是 true ,本句话就会显示</p>

取反可以用not, 或者用th:unless.

<p th:if="${not testBoolean}" >取反 ,所以如果testBoolean 是 true ,本句话就不会显示</p>
<p th:unless="${testBoolean}" >unless 等同于上一句,所以如果testBoolean 是 true ,本句话就不会显示</p>

除此之外,三元表达式也比较常见

<p th:text="${testBoolean}?'当testBoolean为真的时候,显示本句话,这是用三相表达式做的':''" >

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于IDEA关联数据库的问题

    关于IDEA关联数据库的问题

    这篇文章主要介绍了IDEA关联数据库的相关知识,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Spring Boot线程池使用的一些实用心得

    Spring Boot线程池使用的一些实用心得

    理论上线程越多程序可能更快,但在实际使用中我们需要考虑到线程本身的创建以及销毁的资源消耗,以及保护操作系统本身的目的我们通常需要将线程限制在一定的范围之类,这篇文章主要给大家介绍了关于Spring Boot线程池使用的一些实用心得,需要的朋友可以参考下
    2021-09-09
  • SpringSecurity如何设置白名单策略

    SpringSecurity如何设置白名单策略

    这篇文章主要介绍了SpringSecurity如何设置白名单策略,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 通过Spring自定义NamespaceHandler实现命名空间解析(推荐)

    通过Spring自定义NamespaceHandler实现命名空间解析(推荐)

    这篇文章主要介绍了通过Spring自定义NamespaceHandler实现命名空间解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • @Value如何设置默认值

    @Value如何设置默认值

    这篇文章主要介绍了@Value如何设置默认值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 利用ClasserLoader实现jar包加载并调用里面的方法

    利用ClasserLoader实现jar包加载并调用里面的方法

    classloader即是类加载,虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,了解java的类加载机制,可以快速解决运行时的各种加载问题并快速定位其背后的本质原因,本文介绍了如何利用ClasserLoader来实现jar包加载并调用里面的方法
    2024-09-09
  • redis scan命令导致redis连接耗尽,线程上锁的解决

    redis scan命令导致redis连接耗尽,线程上锁的解决

    这篇文章主要介绍了redis scan命令导致redis连接耗尽,线程上锁的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • SpringBoot启动器Starters使用及原理解析

    SpringBoot启动器Starters使用及原理解析

    这篇文章主要介绍了SpringBoot启动器Starters使用及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • SpringBoot批处理的实现示例

    SpringBoot批处理的实现示例

    SpringBatch是一个开源 的、全面的、轻量级的批处理框架,通过SpringBoot可以实现强大的批处理应用程序开发,本文主要介绍了SpringBoot批处理的实现示例,感兴趣的可以了解一下
    2022-03-03
  • Spring循环引用失败问题源码解析

    Spring循环引用失败问题源码解析

    这篇文章主要为大家介绍了Spring循环引用失败问题源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论