2013-08-02 5 views
9

Как использовать логические операторы, такие как and или or с использованием 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}"> 

Вы должны гнездиться их в одних и тех же фигурных скобках, независимо друг от друга, если они изолированы с учетом логическая «или» операция проходит испытания.

Будьте осторожны, хотя! Это покажет вам только tr и его дочерние элементы, если значение if равно true.

8

Вместо использования conditonal операторов && и || в выражении, как мы используем в Java и Javascript, в Thymeleaf мы используем текст AND и OR для сравнения.

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> 
Смежные вопросы