今天在做增加用户信息时遇到把表单序列化后提交不到controller的问题。原因是我的表单中包含Date类型,srpingmvc的bean类型中没有包含Date、Double等类型。肿么办呢?
解决: 增加方法initBinder,并使用注解@InitBinder标注,那么spring mvc在绑定表单之前,都会先注册这些编辑器。
/**
* @ClassName UserListController
* @Description TODO(用户资料管理)
* @author Administrator
* @Date 2017年10月12日 上午10:29:04
* @version 1.0.0
*/
@Controller
@RequestMapping("/user_list")
public class UserListController extends BaseController {
@Autowired
private UserService mUserService;
/**
*
* @Description (TODO 自定义数据绑定, 解决此问题)
* @param binder
*/
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
}