2013-08-02 49 views
9

如何使用布尔运算符如andor使用Thymeleaf?Thymeleaf - 布尔运算符

例如,如果我想要显示表中的数据,如果只有其中一个条件为真。

<tr th:if="firstCondition or secondCondition"> 
    <td th:text="${entity.attr1}"</td> 
    <td th:text="${entity.attr2}">Default Value</td> 
</tr> 
+0

'$ {entity.attr1}或$ {entity.attr2}'。与'和'一样。 –

+0

我需要这样的东西:。但只有第二个条件起作用。 – Vinicin

+0

这两个条件都是孤立的 – Vinicin

回答

14

布尔运算符就像那样工作。你使用'或','和'而不是普通的java命名法。你也可以缩短你的ifs。

你可以试试这个:

<tr th:if="${violation.remainingDebt != 0 or violation.validity}"> 

你需要嵌套起来在同一个大括号,独立,如果他们是孤立的考虑被测试的逻辑“或”操作。

虽然要小心!如果if传递为true,这将只显示tr并且它是子元素。

8

而不是使用conditonal运营商&&||表达就像我们在Java和JavaScript中使用的,在Thymeleaf我们使用比较文本ANDOR

OR条件例如:

<div th:if="${fruit.name} == 'Apple OR Orange' "> 
    <!-- fruit's name is either Apple or Orange --> 
</div> 

AND条件例如:

<div th:if="${user.role} == 'ADMIN' AND ${user.property} == 'SPECIAL' "> 
    <!-- User is admin and has SPECIAL previleges --> 
</div>