springMVC注解@initbinder

来源:互联网 发布:濮阳交通违章查询软件 编辑:程序博客网 时间:2024/05/16 06:03

搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录。

在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。

比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDataBinder类和操作

@InitBinder    public void initBinder(WebDataBinder binder) {        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");        dateFormat.setLenient(false);        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));    }
还要在springMVC配置文件中加上

<!-- 解析器注册 -->    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">        <property name="messageConverters">            <list>                <ref bean="stringHttpMessageConverter"/>            </list>        </property>    </bean>    <!-- String类型解析器,允许直接返回String类型的消息 -->    <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"/>
这样就可以直接将上传的日期时间字符串绑定为日期类型的数据了

5 0
原创粉丝点击