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的轉換對象,繼續進行轉換。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM