在 Thymeleaf 日期输入中设置 th:value?
Set th:value in Thymeleaf date input?
我使用 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 日期选择器,但它也没有用。有什么建议吗?
如果您使用type="date"
,那么浏览器会选择日期格式。如果要自己格式化,就得用type="text"
.
th:value="${dateDebut}"
不会尊重您的 @DateTimeFormat
注释。如果您希望 thymeleaf 以该格式输出,您应该使用 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')}" />
我使用 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 日期选择器,但它也没有用。有什么建议吗?
如果您使用
type="date"
,那么浏览器会选择日期格式。如果要自己格式化,就得用type="text"
.th:value="${dateDebut}"
不会尊重您的@DateTimeFormat
注释。如果您希望 thymeleaf 以该格式输出,您应该使用 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')}" />