Подтвердить что ты не робот

Thymeleaf - Лучшая практика проверки NULL при форматировании (например, даты)

У меня есть код шаблона Thymeleaf для форматирования даты. Бывают случаи, когда эта дата будет null в возвращаемом объекте. Каков наилучший способ проверить null в Тимелеафе в этой ситуации? В настоящее время шаблон вызывает следующую ошибку:

Caused by: java.lang.IllegalArgumentException: Cannot apply format on null
    at org.thymeleaf.util.Validate.notNull(Validate.java:37)
    at org.thymeleaf.util.DateUtils.format(DateUtils.java:182)
    at org.thymeleaf.expression.Dates.format(Dates.java:164)
4b9b3361

Ответ 1

вы можете использовать класс утилиты tymeleafs Objects или проверить объект перед тем, как передать его в шаблон.

Я предпочитаю превалирование, поскольку вы обычно не хотите взломать в своем шаблоне. также таким образом вы храните свои данные слабо связанными с представлением.

Ответ 2

Вы также можете использовать условное выражение для своего объекта, так что метод форматирования применяется только в том случае, если объект не равен null: th:text="${myDate} ? ${#dates.format(myDate,...)}"

Обратите внимание: в выражении выше нет части "else", и в этом случае выражение просто возвращает значение null (при этом атрибут th:text ничего не записывает).

(Отказ от ответственности, требуемый StackOverflow: я автор тимелеафа)