天天看點

SpringMVC中的參數綁定的類型轉換器

解決的問題: 解決參數綁定中需要将目前傳來的String類型轉為其他類型。

常用的類型轉換:将String類型轉為Date類型的類型轉換器。

1.前台傳到Controller中的參數隻能進行一些簡單的自動類型轉換,但不能解決将Date類型

SpringMVC中的參數綁定的類型轉換器

顯而易見,其中的生日為Date類型,但在點選儲存發送給請求後,請求參數中為String類型,而且Controller層中參數清單中得到的也是String類型。

SpringMVC中的參數綁定的類型轉換器

因為String類型不能自動轉為Date類型,是以需要類型轉換器。

解決步驟:

1.建立自定義類型轉換器: 實作 Converter<String, Date> 接口。

public class StrConverDate implements Converter<String,Date> {
    @Override
   public Date convert(String s) {

    //自定義 日期格式為 yyyy-MM-dd HH:mm 對應生日的日期格式。
   SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm");

   Date parse=null;
   try {
         //将字元串解析為Date類型
         parse= format.parse(s);
         
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return parse;
}
}
           

2.在springmvc.xml配置檔案中配置類型轉換器

<!--配置 類型轉換器-->

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

    <property name="converters">
        <list>
            <bean class="com.conver.StrConverDate"></bean>   //自己建立的類型轉換器的所在包
        </list>
    </property>
    
</bean>       
           

3.此時類型轉換器建立和配置完成,不需要使用,即可實作String類型轉為Date類型