zoukankan      html  css  js  c++  java
  • 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类型之中.

  • 相关阅读:
    coding++ :局部 Loading 加载效果
    coding++:快速构建 kindeditor 富文本编辑器(一)
    POJ 1265 计算几何 多边形面积 内部格点数 边上格点数
    POJ 1385 计算几何 多边形重心
    POJ 1584 计算几何 凸包
    POJ 2653 计算几何
    POJ 3666 DP
    POJ 2184 DP 01背包+完全背包
    POJ 2392 DP 多重背包
    POJ 1930 数学
  • 原文地址:https://www.cnblogs.com/trekxu/p/9129346.html
Copyright © 2011-2022 走看看