2013-08-02 21 views
9

Thymeleafを使用してandまたはorのようなブール演算子を使用するにはどうすればよいですか?Thymeleaf - ブール演算子

たとえば、条件のうちの1つだけが真である場合、テーブルからデータを表示したいとします。

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

<div th:if="${user.role} == 'ADMIN' AND ${user.property} == 'SPECIAL' "> <!-- User is admin and has SPECIAL previleges --> </div> 
'$ {entity.attr1}または$ {entity.attr2}'。 'と'と同じです。 –

+0

私はこのようなものが必要です:しかし、第2の条件だけが働く。 – Vinicin

+0

両方の条件が分離して動作する – Vinicin

答えて

14

ブール演算子はそのように動作します。通常のJava命名法の代わりに 'or'、 'and'を使用します。また、あなたのifを短縮することができます。

あなたはこれを試すことができます。

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

あなたは彼らがテストされている論理的「または」操作を考慮分離され独立している場合、同じ中括弧で巣にそれらを必要とします。

注意してください!これは、trとそれがif要素がtrueとして渡される場合の子要素のみを表示します。

8

の代わりに、我々はJavaとJavaScriptで使うようThymeleafに我々は比較のために、テキストANDORを使用し、式の中でconditonal事業者&&||を使用。

OR条件の例:

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

AND条件の例: