springmvc取不到表单传递的参数?怎么回事呢?

前台向后台提交数据的时候,属性参数取到的全部是null。
通过request和userCustom取的都是null值。
为什么取不到值呢?

html中代码如下:

图片说明

controller中的代码如下:

@RequestMapping("/editUser")
public String editUser(HttpServletRequest request,Integer id,UserCustom userCustom)throws Exception{
System.out.println(request.getParameter("id"));
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("gender"));
System.out.println(userCustom);
//userService.updateUser(id,userCustom);
return "success";
}





当FORM的ENCTYPE="multipart/form-data" 时发送的请求和一般的http不一样,需要转化后才能读其他参数。
如果你用spring,它提供一个MultiRequestResolver,只需要:

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

然后就能正常读取参数:

multipartRequest.getParameter("xxx");

恩,我发现问题了。是因为springmvc不能自动封装date类型。
自定义一个日期类型的转换器,就可以正常的传参了。