我在Thymeleaf中有一个表单输入字段。该字段(在下面的代码片段中为bookingEntry.datefrom)是Date类型。我使用了一个日期选择器来允许用户选择和格式化所需的日期以输入该字段。这一切都很好。
然而,我希望日期的初始值(我已经将其设置为当前日期)以我选择的格式显示。那么,我如何设置最初显示在th:字段中的日期的格式呢?th:值被忽略了(Thymeleaf从支持对象中获取值,这是它应该做的),而且我似乎无法对th:字段应用格式。
百里香的代号是:
<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:字段中的初始值?
多谢
2条答案
按热度按时间oyxsuwqo1#
我错过了简单的答案,仅仅是因为我对Spring的了解有限。我在这里添加它,以防它对像我这样的新手有帮助。传递给表单的对象中元素上的
@DateTimeFormat
注解完成了这项工作。它确保Date
对象按照您希望的方式格式化(无论您是否使用Thymeleaf)。在上面的示例中,在
bookingEntry
对象中3phpmpom2#
如果你的日期为空,它会给予你一个错误。我们必须在解析日期之前检查该值。