Thymeleaf条件表达式和默认表达式

35 篇文章 0 订阅
18 篇文章 3 订阅

#条件表达式

条件表达式condition?then:else根据conditon的值,只会有then,else中的一个表达式被求值。conditontrue->then, conditionfalse->else

<tr th:class="${row.even}? 'even' : 'odd'">
  ...
</tr>

其中条件表达式的三个部分condition?then:else本身都是表达式,所以可以是变量(${...},*{...}), 消息(#{...}), URL(@{...})或者是字面量('...',123)。

通过使用括号()实现条件表达式嵌套

<tr th:class="${row.even}? (${row.first}? 'first' : 'even') : 'odd'">
  ...
</tr>

else部分可以被省略,此时如果conditonfalsenull被返回

<tr th:class="${row.even}? 'alt'">
  ...
</tr>

#默认表达式

默认表达式是条件表达式的一种变种conditon ?: else(default),没有then的部分,else部分只有在conditionnull的时候才会被求值

<div th:object="${session.user}">
  ...
  <p>Age: <span th:text="*{age}?: '(no age specified)'">27</span>.</p>
</div>

其等价于

<p>Age: <span th:text="*{age != null}? *{age} : '(no age specified)'">27</span>.</p>

默认表达式同样支持嵌套

<p>
  Name: 
  <span th:text="*{firstName}?: (*{admin}? 'Admin' : #{default.username})">Sebastian</span>
</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值