我有一个Thymeleaf模板代码格式化日期。有时候返回的对象中的日期为null
。在这种情况下,在Thymeleaf中检查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)
答案 0 :(得分:51)
您还可以在对象上使用条件表达式,这样只有在object不为null时才应用格式化方法:th:text="${myDate} ? ${#dates.format(myDate,...)}"
注意上面的表达式中没有“else”部分,在这种情况下,表达式将只返回null(使th:text
属性不写入任何内容)。
(StackOverflow要求免责声明:我是百里香的作者)
答案 1 :(得分:5)
您可以使用百万美元对象实用程序类Objects,也可以在将对象传递给模板之前对其进行验证。
我更喜欢预验证,因为您通常不想在模板中乱砍。同样,你可以保持数据与视图松散耦合。