Cодержание

Оператор Elvis в Thymeleaf

View more Tutorials:

1- Оператор Elvis

Почти все языки программирования поддерживают оператор  Elvis, ниже является стандартный синтаксис оператора  Elvis в Thymeleaf:
<p th:utext="${myVariable} ? ${myValue1} : ${myValue2}"></p>
  • Если myVariable оценивается как true, код выше соответствует с <p th:utext="${myValue1}"></p>.
  • Если​​​​​​​ myVariable оценивается как​​​​​​​ false, код выше соответствует с​​​​​​​ <p th:utext="${myValue2}"></p>.
Примечание: В Thymeleaf переменная (Или условие) оценивается как  false (ошибка) если его значение является  null, false, 0, "false", "off", "no". Наоборот, он оценивается как   true (верно).
Пример:

<h2 th:utext="${user} ?  ${user.userName} : 'You are not logged in' }"></h2>
 
Если вы встретите сниппет код ниже, вы може написать его более кратко:
<p th:utext="${myVariable} ? ${myVariable} : ${myValue2}"></p>

<!-- Write shorter: -->

<p th:utext="${myVariable} ?: ${myValue2}"></p>
Пример:
<!-- Example -->
<div th:utext="${errorMessage} ?:  'No error!' "></div>



<!-- Example -->
<div th:object="${user}">
  ...
  <p>Age: <span th:text="*{age}?: '(no age specified)'">27</span>.</p>

</div>
Вплетенный оператор  Elvis:
<span th:utext="${myVariable1} ? ${myValue1} : (${myVariable2} ? ${myValue21} : ${myValue22}) }"></span>

<!--
Other example ....
-->

View more Tutorials: