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)
Ответы
Ответ 1
вы можете использовать класс утилиты tymeleafs Objects или проверить объект перед тем, как передать его в шаблон.
Я предпочитаю превалирование, поскольку вы обычно не хотите взломать в своем шаблоне. также таким образом вы храните свои данные слабо связанными с представлением.
Ответ 2
Вы также можете использовать условное выражение для своего объекта, так что метод форматирования применяется только в том случае, если объект не равен null: th:text="${myDate} ? ${#dates.format(myDate,...)}"
Обратите внимание: в выражении выше нет части "else", и в этом случае выражение просто возвращает значение null (при этом атрибут th:text
ничего не записывает).
(Отказ от ответственности, требуемый StackOverflow: я автор тимелеафа)