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. switch 失效

    switch  开关失效无法切换,可以关闭,无法开启. 发现问题点 require-table.js 中toggle value的数据类型不是 number 导致 (value ? no : yes ...

  2. 如何让你的JS代码写的更漂亮

    感觉这篇文章总结的js的规范写法不错,拿来收藏.转自:https://mp.weixin.qq.com/s/AtR94IL9BW9EXOTnKOilmA 1. 按强类型风格写代码 JS是弱类型的,但是 ...

  3. vue的组件通讯 父传子 -- 子传父-- 兄弟组件的传值 vue的组件传值

    首先文字简单撸一下 父子传子   -------首先在父组件上绑定一个属性,在子组件里用props接收,可以是数组或者是对象 子传父   ------在父组件升上自定义一个方法,在子组件里通过this ...

  4. 用 Python 解答两道来自阿里伯乐系统的笔试题

    目录 目录 前言 题目一 分析 实现 题目二 分析 实现 前言 朋友到阿里面试,分享两道小题,博主比较闲就试着用 Python 解答一下,实现方式肯定是多种多样的,优劣也会各有不同,欢迎交流. 题目一 ...

  5. Linux_指令杂烩

    目录 目录 指令集合 常用于脚本的指令 查看变量的指令 监控命令 除了root用户的其他用户不能login 重定向 grep 过滤文件内容 vim预设定 系统在启动时要依次运行4个脚本 归档压缩文件互 ...

  6. python学习之文件读写操作

    open函数 在使用文件之前,需要先打开,即使用open函数 如: files=open("文件路径","操作方式") 解释如下: (1.files:为文件对象 ...

  7. Unity ZTest 深度测试 & ZWrite 深度写入

    初学Shader,一开始对于渲染队列,ZTest 和 ZWrite一头雾水,经过多方查阅和实验,有了一些自己的理解.发此文与初学Shader的朋友分享,也算是为自己做个笔记.不对或不足之处欢迎指正. ...

  8. 将html转化为canvas图片(清晰度高)的方法

    var copyDom = document.querySelector('.fenxiang1'); var width = copyDom.offsetWidth;//dom宽 var heigh ...

  9. 细说python类3——类的创建过程

    细说python类3——类的创建过程 https://blog.csdn.net/u010576100/article/details/50595143 2016年01月27日 18:37:24 u0 ...

  10. C++笔记(7)——一些模拟题:简单模拟、查找元素、图形输出、日期处理、进制转换、字符串处理

    以下内容基本来自<算法笔记>,作者为胡凡,建议直接买书看,我这里只是摘抄部分当笔记,不完整的. 简单模拟 就是一类"题目怎么说你就怎么做"的题目.这类题目不涉及算法,只 ...