4.11 条件表达式

条件表达式就是根据一个表达式的结果,求值另两个表达式里的其中一个表达式。

让我们看一看一个例子(介绍另一个属性修饰符,th:class):

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

一个条件表达式的三个部分(condition, then and else)本身也是表达式,这意味着它们也可以是变量(${...}, *{...}),信息(#{...}),URL(@{...})或者字面量('...')。

条件表达式也可以使用括号嵌套:

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

Else表达式也可以省略。在这种情况下,当条件为false时,将返回null值:

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