首页 文章

格式化:Thymeleaf中的字段

提问于
浏览
9

我在Thymeleaf有一个表单输入字段 . 字段(下面的代码片段中的bookingEntry.datefrom)是Date类型 . 我使用日期选择器允许用户选择并格式化输入字段所需的日期 . 这一切都很好 .

但是,我希望日期的初始值(我已设置为当前日期)以我选择的格式显示 . 那么,如何格式化最初显示在th:字段中的日期 . th:值被忽略(Thymeleaf正在从备份对象获取值,因为它应该)并且我似乎无法将格式应用于th:字段 .

Thymeleaf代码是:

<input type="text" class="form-control getdate"
       th:field="*{datefrom}" placeholder="Date From"
       th:value="${#dates.format(bookingEntry.datefrom, 'dd-MMM-yyyy')}"/>

我确信我可以使用一个String,它以我选择的任何格式初始化,而不是Date类型,但我想知道是否有办法格式化th:field中的初始值?

非常感谢

2 回答

  • 19

    我错过了简单的答案,仅仅是因为我对Spring的知识有限 . 我在这里添加它,这有助于像我这样的任何其他新手 . 传递给表单的对象中元素的 @DateTimeFormat 注释执行作业 . 它确保 Date 对象以您希望的方式格式化(无论您是否使用Thymeleaf) .

    在上面的示例中,在 bookingEntry 对象中

    @Temporal(DATE)
    @DateTimeFormat (pattern="dd-MMM-YYYY")
    private Date datefrom;
    
  • 0

    如果您的日期为空,它将给您错误 . 我们必须在解析日期之前检查该值 .

    <input  type="text" name="date" 
            th:value="${user.dateOfBirth}?${#dates.format(user.dateOfBirth, 'dd-MM-yyyy')}:''" 
            placeholder="dd-mm-yyyy"  id="pickyDate"/>
    

相关问题