form表单提交,后台方法请求提示400
发现前台的date类型form数据不能传值到controller中的参数中,需要在请求获取数据之前转换类型
@initBinder可以直接在你的controller中提供数据绑定。initbinder 方法不能有返回值,一般是返回void。下面的例子是给所有的java.util.Date类型的属性配置一个CustomDateEditor。
@initBinder还可以配置别的属性编辑器,例如CustomNumberEditor、CustomBooleanEditor等,实现数据绑定
@Controller
public class Controller {
@InitBinder
protected void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
@PostMapping("addForm")
public void addForm(Register register){
...
}
}