问题描述
- 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类型。
自定义一个日期类型的转换器,就可以正常的传参了。