本文主要是介绍springMVC注解@initbinder日期类型的属性自动转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。
一、控制器中代码
比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDataBinder类和操作,controller中配置了initBinder()时则再接收String型的日期时会自动转换。
package com.shiliu.game.controller;import java.text.SimpleDateFormat; import java.util.Date;import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder;public class InitController {/*** 自动转换日期类型的字段格式*/@InitBinderpublic void initBinder(WebDataBinder binder) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, 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"><property name="supportedMediaTypes"><list><value>text/html; charset=utf-8</value></list></property></bean>
这篇关于springMVC注解@initbinder日期类型的属性自动转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!