1、标准变量表达式:
  thymeleaf中的变量表达式使用${变量名}的方式获取其中的数据
  th:text="" 是thymeleaf的一个属性,用于文本的显示
  如:<span th:text="${user.name}">X</span>
2、选择变量表达式
  也叫星号表达式,使用th:object属性来绑定对象
  <div th:object="${user}"> ---------------绑定对象
  <p>nick:<span th:text="*{nick}">张</span></p>----------nick为user的属性*代表user
  </div>
3、url表达式
  语法:@{..}
  url表达式可用于<script src="..."> 、<link href=".."> 、<a href="..">等
  <script th:src="@{/js/jquery-2.4.min.js}"></script> 前面有/,默认加上项目跟

4、thymeleaf的表达式
  th:action 配合url表达式使用
  th:each 循环展示数据(list map array)

  <p th:each="user:${userlist}">
    <span th:text="{userstat.count}">张</span>---userstat默认实体+stat 表示循环 体信息
    <span th:text="{user.nick}">张</span>
  </p>
  <p th:each="user,iterStat:${userlist}"> -----------自己声明的iterStat循环体
    <span th:text="{iterStat.count}">张</span>
    <span th:text="{user.nick}">张</span>
  </p>

  循环体信息 如下:index当前迭代对象的index
    count当前迭代对象的个数
    size 被迭代对象的大小
    current 当前迭代变量
    first 布尔值 当前循环是否是第一个

    ......

  <p th:each="user:${userMap}">
    <span th:text="{user.key}">张</span>
    <span th:text="{user.value.nick}">张</span>
  </p>

  th:href 定义超链接
  th:id 类似html标签中的id属性
  th:name 类似html标签中的name属性
  th:if 条件判断
  th:unless 与th:if 相反操作
  th:switch/th:case 判断语句
  <div th:switch="${sex}">
    <p th:case="1">性别:男</p>
    <p th:case="2">性别:男</p>
    <p th:case="*">性别:未知</p>
  </div>
  一旦某个case判断值为true,剩余的case则都当做false;
  "*" 表示默认的的case,前面的case都不匹配的时候,执行默认的case

  th:object 用于数据对象绑定 ,通常用于选择变量表达式
  th:src 用于外部资源引入 通常与@{}表达式结合使用
    <script th:src="@{/js/jquery-2.4.min.js}"></script>
  th:text 文本显示
  th:value 类似html标签中的value的属性 赋值
  th:attr 为属性赋值,可以用动态属性赋值
  th:attr="value=${user.name}"
  th:onclick 点击事件 th:onclick="'getCollect()'" 注意""里面的单引号
  th:style 也要注意""号里面的单引号
  th:method 设置请求方法
  th:inline 内联文本 内联脚本。有三个取值类型 text javascript 和none
  该属性使用内联表达式[[..]]展示变量数据,
  比如:内联文本
  <span th:inline="text">Hello,[[${user.nick}]]</span>
  等同于
  <span>Hello,<span th:text="${user.nick}"></span></span>
  再如:内联脚本
  <script th:inline="javascript" type="text/javascript">
    var user=[[${user.nick}]]
    alert(user)
  </script>
  当值为none时 可省略
5、thymeleaf字面量
  文本字面量:用单引号''包围的字符串为文本字面量
  数字字面量:可以直接写数字 也可以进行+-*/操作
  boolean字面量: true和false
  <p th:if="${isFlag==true}">
    执行操作
  </p>
  null字面量:null
  <p th:if="${isFlag!=null}">
    执行操作
  </p>
6、字符串拼接
  <span th:text="'当前是第'+${num}+'页,共'+${total}+'页'"></span>
  <span th:text="|当前是第${num}页,共${total}页|"></span>
7、三元运算判断
  <span th:text="${sex eq '1'}?'男':'女'">未知</span>
8、thymeleaf 内置对象
  #request 3.0
  #httpServletRequest 2.0
    <span th:text="${#request.getContextPath()}">
    <span th:text="${#request.getAttribute('name')}">
  #session 3.0
  #httpSession 2.0
    <span th:text="${#session.getAttribute('name')}">
    <span th:text="${#session.id}">
    <span th:text="${#session.lastAccessedTime}">
9、thymeleaf 功能性内置对象
  比如#dates、#arrays #strings等等 更多具体可以查官方文档
  <span th:text="${#dates.format(curDate,'yyyy-MM-dd HH:mm:ss')}"></span>

https://www.thymeleaf.org/

Thymeleaf 整理的更多相关文章

  1. Thymeleaf 常用th标签基础整理

    (一)Thymeleaf 是个什么?      简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下 ...

  2. 国外程序员整理的Java资源大全分享

    Java 几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员 Andreas Kull 在其 Github 上整理了非常优秀的 Java 开发资源,推荐给大家. 译文由 Imp ...

  3. 基于java平台的常用资源整理

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  4. 这里整理了基于java平台的常用资源

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  5. 【转】国外程序员整理的Java资源大全

    Java几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员Andreas Kull在其Github上整理了非常优秀的Java开发资源,推荐给大家.译文由ImportNew- 唐 ...

  6. 初步认识Thymeleaf:简单表达式和标签。(一)

    本文只适用于不会Java对HTML语言有基础的程序员们,是浏览了各大博客后收集整理,重新编辑的一篇文章,希望能对大家有所帮助. 对于Thymeleaf,网上特别官方的解释无非就是:网站或者独立应用程序 ...

  7. springboot(十五):springboot+jpa+thymeleaf增删改查示例

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  8. springboot+jpa+thymeleaf增删改查的示例(转)

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  9. org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method service() cannot be found on com.my.blog.springboot.thymeleaf.util.MethodTest type

    前言 本文中提到的解决方案,源码地址在:springboot-thymeleaf,希望可以帮你解决问题. 至于为什么已经写了一篇文章thymeleaf模板引擎调用java类中的方法,又多此一举的单独整 ...

随机推荐

  1. SecureCRT通过密钥登录

    转载  https://blog.csdn.net/langkeziju/article/details/53024031 说明:一般的密码方式登录容易被密码暴力破解.所以一般我们会将 SSH 的端口 ...

  2. 十、RF运行方式pybot运行方式

    pybot命令 1.执行整个项目下的所有用例: pybot 项目路径.例如: pybot D:\RF 2.执行某个suit中的所有用例: pybot 项目路径\suit文件名称. 例如:pybot D ...

  3. MySQL——执行计划

    项目开发中,性能是我们比较关注的问题,特别是数据库的性能:作为一个开发,经常和SQL语句打交道,想要写出合格的SQL语句,我们需要了解SQL语句在数据库中是如何扫描表.如何使用索引的: MySQL提供 ...

  4. Java课堂疑问解答与思考5

    一:运行 TestInherits.java 示例,观察输出,总结. TestInherits.java class Grandparent { public Grandparent() { Syst ...

  5. Java程序的运行过程,以及Java为什么能够跨平台

    Java程序运行机制  Java的运行主要分两步:先编译再解释执行 (1)先通过“编译器”将Java源程序(.java)编译成Java字节码文件(.class) (2)通过不同的虚拟机(JVM)将字节 ...

  6. Mongodb-简单部署

    一.MongoDB是一款NoSql数据库 二.部署单实例MongoDB 1.安装环境: (1)系统:Centos7.2 (2)MongoDB:Percona的MongoDB3.4 2.配置yum源 p ...

  7. python并发编程之进程池、线程池、协程

    需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...

  8. BusyBox TFTP使用(转)

    开发板上使用TFTP 帮助信息: BusyBox v1.13.3 (2009-03-25 15:48:45 CST) multi-call binary Usage: tftp [OPTION]... ...

  9. sprintf()函数可能发生的错误

    接收到如下数据: GET http://app.tdvpn.com/heartbeat?mac=898607B81017AT+CIPSTATUS? &status=/ HTTP/1.1 Hos ...

  10. linux下安装msgpack,yar,phalcon

    安装msgpack扩展 下载:http://pecl.php.net/package/msgpack cd /usr/local tar zxvf msgpack-0.5.5.tgz cd msgpa ...