spring boot thymeleaf format date"无法从null检索小时"

时间:2018-02-08 18:07:16

标签: java spring-boot thymeleaf

我有一个弹簧启动应用程序,我试图以格式化的方式显示出生日期。如果我不使用百日咳日期格式选项,我可以显示日期,但如果使用格式选项,它会给我"Cannot apply format on null"

 <td th:text="*{dateOfBirth}">06/23/2013</td>
 output: 1990-01-21 00:03:00.0

 <td th:text="${#dates.format(dateOfBirth,'dd-mm-yyyy')}">06/23/2013</td>
 output ::Cannot apply format on null

我的pogo类中的dateOfBirth字段声明如下。

@JsonDeserialize(using = CustomeDateDeserializer.class)
@DateTimeFormat(pattern="dd-mm-yyyy")
private Date dateOfBirth;

我尝试过差异组合,但都给了我同样的错误。任何人都可以帮助我在这里失踪。

1 个答案:

答案 0 :(得分:1)

th:object具有特定含义。 When you use the * notation,您指的是您选择的${}的属性。当您使用#object表达式时,您会丢失它。为了指定相同的变量,您应该使用<td th:text="${#dates.format(#object.dateOfBirth,'dd-MM-yyyy')}">06/23/2013</td> 表达式变量(或命名相关变量的完整路径)。

<td th:text="${{#object.dateOfBirth}}">06/23/2013</td>

注意:由于您已经指定了变量的日期格式,我认为double-bracket syntax应该适合您:

{{1}}