SpringMvc 自定义类型转换器

首先,你要有一个SpringMvc搭建好的开发环境,^_^

  1. 先一个实现了Convert接口的类


public class DateConverter implements Converter<String, Date> {
 
@Override
public Date convert(String date) {
if (date == null || date.length() < 8)
      return null;
 
    if (date.length() < 12)
      date += " 00:00:00";
 
    DateFormat df = DateFormat.getDateTimeInstance();
    try {
      return df.parse(date);
    } catch (ParseException e) {
      e.printStackTrace();
      return null;
    }
}

2. 写一个实现了WebBindingInitializer 接口的类

    
public class DateFormatBindingInitializer implements WebBindingInitializer {
@Override
public void initBinder(WebDataBinder binder, WebRequest request) {
binder.registerCustomEditor(java.util.Date.class, 
new CustomDateEditor(new JavaUtilDateFormater("yyyy-MM-dd HH24:mm:ss"), true));
}
}

3.在springMvc.xml中进行配置

<mvc:annotation-driven conversion-service="conversionService" />
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.jockiller.convert.DateConverter" />
        </list>
    </property>
</bean> 
 
下面这一段千万不要忘记了
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="webBindingInitializer">
        <bean class="com.jockiller.bind.DateFormatBindingInitializer" />
    </property>
</bean>


测试一下吧..


你可能感兴趣的:(SpringMvc 自定义类型转换器)