我有一个弹簧启动应用程序,我试图以格式化的方式显示出生日期。如果我不使用百日咳日期格式选项,我可以显示日期,但如果使用格式选项,它会给我"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;
我尝试过差异组合,但都给了我同样的错误。任何人都可以帮助我在这里失踪。
答案 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}}