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

use*_*806 24 thymeleaf

我有一个Thymeleaf模板代码来格式化日期.有时候该日期将null在返回的对象中.null在这种情况下,在Thymeleaf 检查的最佳方法是什么?目前该模板抛出以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

Dan*_*dez 52

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

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

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


Jul*_*May 5

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

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