Spring Form-使用日期和时间作为输入类型分配给LocalDate和LocalTime变量。 typeMismatch问题

时间:2018-11-29 20:50:52

标签: java spring spring-mvc

我有以下春季形式

<form:form action="/management/recruitment/setInterview" modelAttribute="interview">
Date<form:input type="Date" path="interviewDate"/><br>
Time<form:input type="Time" path="interviewTime"/>
<br>
<input type="submit" value="Invite for interview" id="submitButton" />
  • 如何使它发送LocalDate / Time对象?
  • 如果不是更好的方法,这是一种好的做法吗?

P.S。 我在用 java.time.LocalDate和LocalTime以及我的两个变量都用@DateTimeFormat注释。

1 个答案:

答案 0 :(得分:3)

DateTimeFormat注释访谈POJO中的interviewDateinterviewTime字段,如下所示:

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private LocalDate interviewDate;

请注意,如果来自用户的提交日期或时间字符串不是DateTimeFormat.ISO格式,则可以为其设置自定义模式,例如@DateTimeFormat(pattern = "MM-dd-yyyy")

执行此操作的另一种方法是在控制器(example)中使用@InitBinder,但对于这样简单的事情DateTimeFormat就足够了。