013 类型转换器

一 . 概述

  在前面说参数映射的时候,有一个现象,就是前台传递的参数可以进行类型转换然后映射到后台的参数之上.

  我们知道,前台传递的所有的参数都是string类型,那么这个转换的动作是说完成的呢?

  答案就是类型转换器.


 

二 . 类型转换器

  我们首先看一类型转换器的接口接口:  

public interface Converter<S, T> {

    T convert(S source);

}

这个接口就是将源类型转换为目标类型.

  这个接口本身就是十分简单的.


三 . 自定义类型转换器  

public class DateConverter implements Converter<String, Date>{

    private static final SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
    @Override
    public Date convert(String source) {
        //将字符串类型转换为日期类型
        try {
            return sim.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

}

 当我们创建了一个类型转换器之后,我们就需要该类型转换器注册.  

<mvc:annotation-driven conversion-service="converterService"></mvc:annotation-driven>
    <!-- 注册类型转换服务工厂Bean -->
    <bean id="converterService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
                <bean class="com.trek.converter.DateConverter"></bean>
            </set>
        </property>
    </bean>

测试代码 :  

@RequestMapping("/date")
    public String dateConverter(Date date) {
        System.out.println(date);
        return "/WEB-INF/jsp/success.jsp";
    }

现在我们前台传递的日期字符串的参数就能转换到了Date类型之中.

 

posted @ 2018-06-03 15:33  最爱五仁月饼  阅读(109)  评论(0编辑  收藏  举报