SpringMVC參數傳遞之日期類型

 

<a href="/demo/handle06?birthday=2019-10-08">點擊測試</a>
/**

* http://localhost:8080/demo/handle06?birthday=2019-10-08

*/

@RequestMapping("/handle06")

public String handle06(Date birthday){





    return "success";

}

參數轉換錯誤。報400

 

自定義類型轉換器:

package com.lagou.edu.converter;

import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* @author lyj

* @Title: DateConverter

* @ProjectName springmvc-demo

* @Description: 自定義類型轉換器,自定義完後需要註冊

* @date 2020/6/10 23:10

*/



public class DateConverter implements Converter<String, Date> {

    @Override

    public Date convert(String s) {

        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");

        Date parse = null;

        try {

            parse = simpleDateFormat.parse(s);

        } catch (ParseException e) {

            e.printStackTrace();

        }





        return parse;

    }

}

springmvc.xml中註冊

<!--

        自動註冊最合適的處理器映射器,處理器適配器(調用handler方法)

    -->

    <mvc:annotation-driven conversion-service="conversionServiceBean"/>

<!--自定義類型轉換器-->

    <bean id="conversionServiceBean" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">

        <property name="converters">

            <set>

                <bean class="com.lagou.edu.converter.DateConverter"></bean>

            </set>

        </property>

    </bean>

 

測試:

 

 

問題:對於同一個項目中多個日期格式的,我們可以定義多個日期轉換器,但是沒有必要,我們可以在DateConverter轉換器中catch中捕捉異常的時候再new一個新的simpleFormat的轉換對象,繼續進行轉換。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章