(五)Thymeleaf标准表达式之——[7->8]条件表达式& 默认表达式

转载自:https://www.cnblogs.com/zjfjava/p/6893153.html

 

2.7 条件表达式

模板名称:condition-express.html

<1>a ? b:c  (if then:else)

<2>a?c (if else)

条件表达式(conditionthenelse)的所有三个部分都是表达式,这意味着它们可以是变量(${...}*{...}),消息(#{...}),URL(@{...})或文字('...'))。

e.g.

<li>? 'xx' :'xx'(if ? then:else)<span th:class="${title} ? 'green' :' red'">样例一</span></li>
<li>?'xx'(if ? then)<span th:class="${title1} ? 'green'">样例二</span></li>
<!--   嵌套   -->
<tr th:class="${row.even}? (${row.first}? 'first' : 'even') : 'odd'">
  ...
</tr>
<!--  Else表达式也可以省略,在这种情况下,如果条件为false,则返回null值 -->
<tr th:class="${row.even}? 'alt'">
  ...
</tr>

2.8 默认表达式(Elvis operator )

模板名称:condition-express.html

语法: ?: (if:defaultValue)

 the first one is used if it doesn’t evaluate to null, but if it does then the second one is used.(值不为null使用第一个,否则第二个)

e.g.

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

equals:

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

猜你喜欢

转载自blog.csdn.net/guying4875/article/details/81167591