How can I use boolean operators like and
or or
using Thymeleaf?
For instance, if I want to show the data from a table if only one of the conditions is true.
<tr th:if="firstCondition or secondCondition">
<td th:text="${entity.attr1}"</td>
<td th:text="${entity.attr2}">Default Value</td>
</tr>
Boolean operators work just like that. You use 'or', 'and' instead of the normal java nomenclature. You can also shorten your ifs.
You can try this:
<tr th:if="${violation.remainingDebt != 0 or violation.validity}">
You need to nest them up in the same curly brackets, independently if they are isolated considering the logical 'or' operation being tested.
Be wary though! This will only show you the tr and it's child elements if the if passes as true.
Instead of using conditional operators &&
and ||
in the expression like we use in Java and Javascript, in Thymeleaf we use the text AND
and OR
for comparison.
OR
condition example:
<div th:if="${fruit.name} == Apple OR ${fruit.name} == Orange ">
<!-- fruit's name is either Apple or Orange -->
</div>
AND
condition example:
<div th:if="${user.role} == 'ADMIN' AND ${user.property} == 'SPECIAL' ">
<!-- User is admin and has SPECIAL previleges -->
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With