在Thymeleaf日期输入中设置th:value?

时间:2018-07-10 15:20:18

标签: html datepicker thymeleaf default-value

我使用Thymeleaf,我想在用户对其进行编辑之前向其显示现有的日期值,并且如果他们不想对其进行编辑,则可以将其保留为原样。我一直在尝试设置日期输入值,但是它不起作用。

我尝试过的事情:

艺术家:

private Date dateDebut;

控制器:

String dateDebut = Artist.getDateDebut().toString();
model.addAttribute("dateDebut", dateDebut);

查看:

<input type="date" class="form-control" name="dateDebut" th:value="${dateDebut}" />

但是,这不起作用。它仍然向我显示日期输入:https://i.stack.imgur.com/MdZIw.png,而不是我要显示的设置值。

我已经尝试过使用Bootstrap datepicker,但是它也不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

  1. 如果使用type="date",则浏览器可以选择日期格式。如果要自己格式化,则必须使用type="text"

  2. th:value="${dateDebut}"不尊重您的@DateTimeFormat注释。如果您希望百里香叶以这种格式输出,则应使用double-brace语法-例如th:value="${{dateDebut}}"-或使用th:field(这意味着其他更改)。在这种情况下,前者可能会更好。

编辑:

如果要使用type="date",请保留注释@DateTimeFormat (pattern="yyyy-MM-dd")并使用双括号:

<input type="date" class="form-control" name="dateDebut" th:value="${{dateDebut}}" />

或者,您可以使用日期格式功能:

<input type="date" class="form-control" name="dateDebut" th:value="${#dates.format(dateDebut, 'yyyy-MM-dd')}" />