thyleaf 语法

强烈建议参考 thyleaf官方文档

1. 输出变量

张三

  • 字符串拼接

Hello World !

  • 链接

details


details


details

2. 循环(遍历)

  • 基本用法
  • 用户名
  • 获取属性(索引、奇偶数等)
  • 用户名

userStat是状态变量,有index,count,size,current,even,odd,first,last等属性
如果没有显示设置状态变量,thymeleaf会默认给个变量名+Stat的状态变量。

  • index 当前遍历索引,从0开始
  • count 当前遍历索引,从1开始
  • size 总元素数量
  • current 每一次遍历的iter变量
  • even/odd 当前遍历是even还是odd,布尔属性
  • first 当前遍历是第一个,布尔属性
  • last 当前遍历是最后一个,布尔属性

遍历对象

用户名: 密码:

如果user为空,这时页面就会直接报错。
下面的方法没有使用th:object,可以解决 user为空的问题

用户名: 密码:

注意写法 th:value="${user?.name}",它表示先判断user是否为空,不空的话使用 user.name 来赋值inputvalue属性。

扩展 th:fieldth:value 的区别】
field 计算机中意为:字段。value则单纯的指的是值。
th:field 要和 th:object 一起配合使用,且语法带星号th:field=*{}。不仅给input赋值,还顺带设置了 inputname属性
th:value 则是给input赋值


会输出


3. 条件

条件表达式

用户性别

if else

登录

如果值为null,则th:if运算结果为false
th:if 不只运算布尔条件,它对以下情况也运算为true:

  • 值不为null
  • 值为boolean且为true
  • 值为数字且非0
  • 值为字符且非0
  • 值是字符串且不是:falseoffno
  • 值不是boolean、数字、字符、字符串

扩展:th:if 的反面是 th:unless

扩展:
gt:great than(大于)>
ge:great equal(大于等于)>=
eq:equal(等于)==
lt:less than(小于)<
le:less equal(小于等于)<=
ne:not equal(不等于)!=

switch

VIP用户

普通用户

4. 函数

日期格式化

2019-02-18 11:05:30

集合


5. 页面元素属性操作

自定义属性 data-*

在js中就可以 $.data('user-id')$.data('user-name') 来获取自定义属性值。

你可能感兴趣的:(thyleaf 语法)