SpringMVC之自定义类型转换器

SpringMVC之自定义类型转换器

Scroll Down

数据类型转换与类型转换器

表单提交的任何数据类型全部都是字符串类型,但是后台定义Integer类型,数据也可以封装上,说明Spring框架内部会默认进行数据类型转换。
如果想自动以数据类型转换,可以实现Converter的接口。

  1. 自定义类型转换器
package cn.itcast.utils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
/**
* 把字符串转换成日期的转换器
* @author rt
*/
public class StringToDateConverter implements Converter<String, Date>{
/**
* 进行类型转换的方法
*/
  public Date convert(String source) {
    // 判断
    if(source == null) {
	throw new RuntimeException("参数不能为空");
    }
    try {
        DateFormat df = new 
        SimpleDateFormat("yyyy-MM-dd");
        // 解析字符串
        return df.parse(source);
  
    } catch (Exception e) {
        throw new RuntimeException("类型转换错误");
    }
  }
}

DateFormat类是一个日期的格式化类,用来格式化日期。

  1. 注册自定义类型转换器,在springmvc.xml配置文件中编写配置
<!-- 注册自定义类型转换器 -->
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <set>
            <bean class="cn.itcast.utils.StringToDateConverter"/>
        </set>
    </property>
</bean>
<!-- 开启Spring对MVC注解的支持 -->
<mvc:annotation-driven conversion-service="conversionService"/>