如何使用thymeleaf上的message.properties格式化日期?

时间:2017-12-04 19:50:51

标签: thymeleaf

我使用百里香,我需要将此字段格式化为特定日期。它按原样工作,但我需要将日期格式放入message.properties中。 这是有效的:

<input type="text" id="dtFrom" class="form-control " placeholder="yyyy-MMM-dd" th:attr="placeholder=''+#{default.date.format}+''" autocomplete="off" th:name="startDate" th:value="${srchCmd.startDate}?${#dates.format(srchCmd.startDate, 'yyyy-MMM-dd')}">
    </input>

但我需要这样的东西:

<input type="text" id="dtFrom" class="form-control " placeholder="yyyy-MMM-dd" th:attr="placeholder=''+#{default.date.format}+''" autocomplete="off" th:name="startDate" th:value="${srchCmd.startDate}?${#dates.format(srchCmd.startDate, #{default.date.format})}">
    </input>

当我选择日期而不是在文本输入上格式化日期时,我有:

??welco12e.12essage_en_US??

在$ {}中使用#{}的正确方法如何?不确定这是不是问题。

1 个答案:

答案 0 :(得分:2)

我的用法略有不同,但是,我能够使用基本概念:

<span th:text="${#dates.format(timestamp, #messages.msg('timestampFormat'))}">10/31/2018 11:59:07 -0500</span>

其中我的messages.properties文件包含'timestampFormat'的(有效)值,timestamp是可用的Model属性(类型为Instant,对于java8)。

请注意,我必须在此明确使用#messagess.msg('key')。