我使用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,但是它也不起作用。有什么建议吗?
答案 0 :(得分:1)
如果使用type="date"
,则浏览器可以选择日期格式。如果要自己格式化,则必须使用type="text"
。
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')}" />