Thymeleaf - 格式化时检查NULL的最佳做法(即日期)

时间:2012-12-11 17:40:40

标签: thymeleaf

我有一个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)

2 个答案:

答案 0 :(得分:51)

您还可以在对象上使用条件表达式,这样只有在object不为null时才应用格式化方法:th:text="${myDate} ? ${#dates.format(myDate,...)}"

注意上面的表达式中没有“else”部分,在这种情况下,表达式将只返回null(使th:text属性不写入任何内容)。

(StackOverflow要求免责声明:我是百里香的作者)

答案 1 :(得分:5)

您可以使用百万美元对象实用程序类Objects,也可以在将对象传递给模板之前对其进行验证。

我更喜欢预验证,因为您通常不想在模板中乱砍。同样,你可以保持数据与视图松散耦合。