最近刚学完 spring mvc ,遇到一个问题。就是当我表单有日期类型的数据(如出生日期)提交到后台控制器时;就发生了400error;400error用简短的话来说就是请求参数类型和后台接收参数类型对不上等。
我大概一猜就知道是因为日期类型参数的问题;下面总结了一些处理 springMVC 在接收date类型参数的处理。
====方法one
我们后台的参数用String先接收,再把string转成date。/**
* 新增员工
*
* @param empVo
* @return 返回成功标识
*/
@RequestMapping("/empAdd")
@ResponseBody
//hireday 是前台表单传过来的日期
public String empAdd(EmpVo empVo, String hireday) {
//把字符串日期转成date格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition position1 = new ParsePosition(0);
Date hiredayDate = format.parse(hireday, position1);
//分别是入职日期和出生日期
empVo.setHireDay(hiredayDate);
// DateHelper.parseString(StringHelper.getBirAgeSex(empVo.getCardno()).get("birthday")
// 通过身份证获取出生日期
empVo.setBirthday( DateHelper.parseString(StringHelper.getBirAgeSex(empVo.getCardno()).get("birthday"),"yyyy-MM-dd"));
//状态
empVo.setStatus(1);
//默认密码
empVo.setPassword("123456");
emp.save(empVo);
return "success";
}