我尝试使用表单中的单独输入来获取日期和时间。 到目前为止,日期正在起作用,但是要花时间(小时和分钟)使用 导致错误。 这是我的实体类的一部分:
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date start_date;
@Temporal(TemporalType.TIME)
@DateTimeFormat(pattern = "HH:mm")
private Date start_hour;
以下是我用来从用户那里获取数据的表单部分:
<div class="row">
<div class="col-6">
<label th:attr="for='start_date_'+${subject.id}">Start Date</label>
<input class="form-control" type="date" th:attr="id='start_date_'+${subject.id}" th:field="*{start_date}"/>
</div>
<div class="col-6">
<label th:attr="for='start_time_'+${subject.id}">Start hour</label>
<input class="form-control" type="time" th:attr="id='start_time_'+${subject.id}" th:field="*{start_hour}"/>
</div>
</div>
我一直收到错误:
There was an unexpected error (type=Bad Request, status=400).
Validation failed for object='lesson'. Error count: 1
我分别测试了日期输入和时间输入,它是给我带来麻烦的时间输入。
答案 0 :(得分:0)
尝试将数据类型更改为
java.sql.Date
和java.sql.Time
或者如果您使用的是Java 8
@Temporal(TemporalType.DATE)
@DateTimeFormat(iso = ISO.DATE)
private LocalDate start_date;
@Temporal(TemporalType.TIME)
@DateTimeFormat(iso = ISO.TIME)
private LocalDateTime start_hour;
答案 1 :(得分:0)
查看您的错误可能是由Validation Layer导致它拒绝您的对象。我建议您尝试调试或打印错误列表,看看哪种错误拒绝了您的请求。