@P_Alexander
First head

Themeleaf: Как вывести на страницу сообщение по дефолту?

Добрый вечер!
Такой вопрос, при выводе модели на html страницу, и данных нет, я бы хоте что бы писалось в теге - "no data" можно ли это сделать на самой странице не прибегая добавлением атрибута в контроллере?
Пример:
<span th:text="'Your city : ' + ${address.city}">Non data</span>

Я надеялся что если в address.city == null тогда Non data если нет то данные с модели, но это не так...
Еще вопрос, как такое делают обычно ?
Спасибо.
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
@azerphoenix
Здравствуйте!
Почему бы вам не восопльзоваться возможностями шаблонизатора?
Вот, несколько вариантов решения вопроса:

1) Использование тернарного оператора
<span th:text="${address.city != null} ? ${address.city} : 'No data!'">City</span>


2) Использование: if unless (аналог if else на java). Обратите внимание, что если city это строка, то можно использовать ==, а если объект, то нужно использовать eq
<span th:if="${address.city} == null">Non data</span>
<span th:unless="${address.city} != null" th:text="'Your city : ' + ${address.city}">Non data</span>


Также обратите внимание, что вы можете "обеспечить защиту" приложение, если значение null используя оператор безопасной навигации ?. между address & city
<span th:text="'Your city : ' + ${address?.city}">Non data</span>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы