今天使用DateTime Picker 控件像后台传数据时一直报400请求无效问题,请求无效最可能的原因是:前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装。
前台浏览器console打印DateTime value type 为字符串类型而后台实体类的类型为java.util.Date,错误原因大概是找到了,但是转换过程饶了很多弯路,尝试了添加同名的setter函数,实现函数重载,如下:
public void setStartTime(String startTime) {
this.startTime = StrToDate(startTime);
}
/**
* 字符串转换成日期
* @param str
* @return date
*/
private static Date StrToDate(String str) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
但是未能解决问题。
google看到有coder采用springmvc注解的方式实现类型的转换,找到问题的突破点,尝试并成功解决问题,过程如下:
在所要转换的字段上方添加注解
@DateTimeF