代码之家  ›  专栏  ›  技术社区  ›  Kyan

Spring表单-使用日期和时间作为要分配给LocalDate和LocalTime变量的输入类型。类型不匹配问题

  •  2
  • Kyan  · 技术社区  · 6 年前

    我有下面的春季表格

    <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对象?
    • 这是一种良好的做法吗?如果不是,还有什么更好的方法?

    附笔。 java.time.LocalDate和LocalTime以及my这两个变量都用@DateTimeFormat注释。

    1 回复  |  直到 6 年前
        1
  •  3
  •   dyslexit    6 年前

    注释你的 interviewDate interviewTime POJO采访中的字段 DateTimeFormat

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

    请注意,如果用户的提交日期或时间字符串不在 DateTimeFormat.ISO @DateTimeFormat(pattern = "MM-dd-yyyy")

    另一种方法是使用 @InitBinder 在控制器中( example ),但对于这么简单的事情 DateTimeFormat 应该足够了。