在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。
解决的办法就是使用spring mvc提供的@InitBinder标签。
我们是在Controller方法里增加方法initBinder,并使用注解@InitBinder标注,那么spring mvc在绑定表单之前,都会先注册这些编辑器。spring自己提供了大量的实现类,诸如CustomDateEditor ,CustomBooleanEditor,CustomNumberEditor等许多,基本上够用。
比如:
当然,也可以定义更多的编辑器类,如下图所示:
(引用)
以上的方式,只能针对添加该方式的模块起作用,但如果需要全局的,可使用如下方式
1、自定义属性编辑器@initBinder,在spring-context.xml文件中配置,定义AnnotationMethodHandlerAdapter的bean,注册之后,其作用即是全局性的。
如下:
配置了webBindingInitializer属性,指定自定义的编辑类MyWebBinding。
2、编写MyWebBingding类,实现接口WebBindingInitializer。该类的定义,与第一种方式类似了。
参考 http://haohaoxuexi.iteye.com/blog/1190065