springMvc-接受日期类型参数处理

springMvc--接受日期类型参数处理
  • 1.controller
  • /**
         * 接收日期类型参数
         *     注意:
         *         springmvc 在接收日期类型参数时,如不做特殊处理 会出现400语法格式错误
         *  解决办法
         *      1.全局日期处理
         * 
         */
        
        @RequestMapping("/test")
        public String test(Date birthday){
            System.out.println(birthday);
            return "index";
        }


    [list]
  • 2.自定义类型转换规则
  • SpringMvc提供了Converter接口,它支持从一个Object转换为另一个Object
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.springframework.core.convert.converter.Converter;
    /**
     * 全局日期处理类
     * Convert<T,S>
     *         泛型T:代表客户端提交的参数 String
     *         泛型S:通过convert转换的类型
       
     */
    
    public class DateConvert implements Converter<String, Date> {
    
        @Override
        public Date convert(String stringDate) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            try {
                return simpleDateFormat.parse(stringDate);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return null;
        }
    
    }

    [/list]

    • 3.注册自定义的类型转换类
    • 在sping-mvc.xml配置文件中,
      <!-- 第三步:注册处理器映射器/处理器适配器 ,添加conversion-service属性-->
          <mvc:annotation-driven conversion-service="conversionService"/>
        
          <!-- 第二步: 创建convertion-Service ,并注入dateConvert-->
          <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
              <property name="converters">
                  <set>
                      <ref bean="dateConvert"/>
                  </set>
              </property>
          </bean>
          <!-- 第一步:  创建自定义日期转换规则 -->  
          <bean id="dateConvert" class="zpark.convert.DateConvert"/>


    • 4.地址栏访问

    • http://localhost:9999/date/test2?birthday=1990-01-02


    http://www.cnblogs.com/liuconglin/p/5777879.html