betacode

Оператор Elvis в Thymeleaf

View more Tutorials:

Сайт бесплатного изучения языков:
Следуйте за нами на нашей фан-странице, чтобы получать уведомления каждый раз, когда появляются новые статьи. Facebook

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: