Оператор Elvis в Thymeleaf
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 .... -->
Pуководства Thymeleaf
- Оператор Elvis в Thymeleaf
- Цикл в Thymeleaf
- Условные операторы if, unless, switch в Thymeleaf
- Предопределенные объекты в Thymeleaf
- Использование Thymeleaf th:class, th:classappend, th:style, th:styleappend
- Введение в Thymeleaf
- Переменные (Variables) в Thymeleaf
- Использование Fragments в Thymeleaf
- Используйте Layout в Thymeleaf
- Использование Thymeleaf th:object и синтаксиса asterisk *{ }
- Пример Thymeleaf Form Select option
Show More