Как использовать множественные операторы If else внутри Thymeleaf для изменения цвета строки таблицы - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь изменить цвет строк на основе значений в Thymeleaf. Я сделал одно если и еще заявления, это сработало хорошо. Но когда я добавил еще, если заявление, это не работает. Если шаров> 0, то #fff, иначе, если шаров> && mobile> 0, то # 5af716, еще # eee. Как мне решить эту проблему?

рабочая версия


       <tr th:each="country : ${data}" th:style="${country.balls} > 0 ? 'background-color: #fff' :'background-color: #eee' " >
              <td th:text="${country.id}"></td>
              <td th:text="${country.msisdn}"></td>
              <td th:text="${country.frequency}"></td>
              <td th:text="${country.balls}"></td>
              <td th:text="${country.mobile}"></td>
              <td th:text="${country.name}"></td>
              <td>
                <!--<a class="btn btn-danger delBtn" th:href="@{delete/(id=${country.id})}">Delete</a>-->
                <a class="btn btn-primary eBtn" th:href="@{findOne/(id=${country.id})}">Edit</a>
              </td>
        </tr>

Мне нужно, как показано ниже, но выдает ошибку

 <tr th:each="country : ${data}" th:style="${country.balls > 0}  ? 'background-color: #fff' :
                                                      ${country.balls > 0 and country.mobile > 0} ? 'background-color: #5af716'
                                                      : 'background-color: #eee' " >
              <td th:text="${country.id}"></td>
              <td th:text="${country.msisdn}"></td>
              <td th:text="${country.frequency}"></td>
              <td th:text="${country.balls}"></td>
              <td th:text="${country.mobile}"></td>
              <td th:text="${country.name}"></td>
              <td>
                <!--<a class="btn btn-danger delBtn" th:href="@{delete/(id=${country.id})}">Delete</a>-->
                <a class="btn btn-primary eBtn" th:href="@{findOne/(id=${country.id})}">Edit</a>
              </td>
       </tr>

1 Ответ

1 голос
/ 06 марта 2020

Взгляните на это:

<tr th:each="country : ${countries}" 
    th:style="${country.balls > 0 and country.mobile > 0} 
        ? 'background-color: #5af716' 
        : (${country.balls > 0 } ? 'background-color: #fff' 
        : 'background-color: #eee' ) " >

Это создает такую ​​таблицу (в моем упрощенном тестовом примере):

enter image description here

Обратите внимание на следующие моменты:

1) Измените порядок, в котором вы выполняете свои тесты, чтобы сначала выполнялся самый ограничительный тест.

2) Вы можете вложить тройной оператор внутри троичный оператор для mimi c многоуровневого оператора if.

Я думаю, это должно быть адаптировано к вашему конкретному c сценарию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...