2013-08-02 11 views
9

Jak używać operatorów Boolean takich jak and lub or przy użyciu Thymeleaf?Thymeleaf - operatory logiczne

Na przykład, jeśli chcę wyświetlić dane z tabeli, jeśli spełniony jest tylko jeden z warunków.

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

'$ {entity.attr1} lub $ {entity.attr2}'. To samo z 'i'. –

+0

Potrzebuję czegoś takiego: . Ale działa tylko drugi warunek. – Vinicin

+0

Oba warunki działają na izolację – Vinicin

Odpowiedz

14

Operatory Boolean działają właśnie tak. Używasz "lub", "i" zamiast normalnej nomenklatury języka Java. Możesz także skrócić ifs.

Można spróbować to:

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

Trzeba zagnieździć je w tych samych nawiasów, niezależnie czy są one izolowane rozważa logiczne „lub” działanie w fazie testów.

Bądź jednak ostrożny! Wyświetli to tylko elementy potomne tr i it's, jeśli jeśli będzie prawdziwe.

8

Zamiast operatorom conditonal && i || ekspresji jak używamy w języku Java i JavaScript w Thymeleaf używamy tekst AND i OR dla porównania.

OR warunek Przykład:

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

AND warunek Przykład:

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