请求参数绑定入门_Date类型转换问题(5)

一.基本数据类型和字符串类型的封装

  • 使用方式:
    • 响应方法的形参名称与请求参数key名称一致即可
    • 示例:
      • 定义username的形参
      • 请求参数key同样为username

二.实体类型的封装

  • 情况一:javaBean实体类其中 ”无“ 引用类型
    • 1.同基本类型参数一样,javaBean类中的属性字段必须与请求参数key对应(不如说与javaBean中set方法对应)
    • 2.必须要有set方法(此实现原理是基于set方法赋值的,所以必须要有set方法)。
  • 情况二:javaBean实体类其中 ”有“ 引用类型
    • 1.javaBean中引用类型必须有set方法且该引用类型内部相关字段也必须有set方法
    • 2.请求参数格式为:引用类型.引用类型属性字段
    • 示例:

三.配置乱码问题过滤器

  • 解决乱码问题需要配置过滤器
  • 以前都是通过过滤器然后使用动态代理配置过滤器,但是spring提供了一个过滤器类,我们只需要配置上去即可
  • <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>

     </filter>

  •   <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>

四.集合类型参数绑定

  • 在实现类中定义list、map集合,并指定对应的set方法
  • 下面使用List对象集合和map对象集合举例
  • 存入list中下标为0的对象中uname、age属性,以及存入map中key为one的对象中的uname、age属性

五.自定义类型转换器

  • 后台获取的请求参数都是string类型的,一般springmvc会在进行数据封装的时候自动进行转换
  • 但是有些数据格式springmvc自动封装不了,比如日期类型2000/1/1spring能够自动封装但是2000-1-1却不能
  • 报错
  • 自定义类型转换编写以及配置
    • 1.定义一个类,实现Converter<S,T>接口,S表示接受的类型,T表示目标类型,该接口是类型转换的总接口,其他自动转换的其他类型也是基于此接口实现。
    • 2.实现convert()方法,在其中写入自定义类型转换规则
    • 3.例如实现自定义Data类型转换
      • public Date convert(String source){
        • if(source == null){
          • throw new RuntimeException("请您传入数据");
        • }
        • DataFormat df = new SimpleDateFormat("yyyy-MM-dd");
        • try{
          • return df.parse(source);
        • }catch(Exception e){
          • throw new RuntimeException("数据类型转换出现错误");
        • }
      • }
    • 4.配置自定义类型转换器
      • <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        • <property name="converters">
          • <set>
            • <bean class="cn.gaipian.utils.StringToDateConverter"/>
          • </set>
        • </property>
      • </bean>
    • 5.开启springmvc框架注解支持
      • mvc:annotation-driven默认是将自带的转换器配置如容器的,但是自定义的需要自己配置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值