數據類型轉換器——String轉Date爲例

Springmvc默認數據類型轉換器並不能支持所有的類型轉換,所以當我們需要某種他所不能支持的類型轉換時,我們可以自定義創建數據類型轉換器。

例如。在學習過程中都會遇到的提交日期問題,前端傳String,到後端我們將他變爲Date對象。

在提交下面這個表單時。我們輸入的是String類型的數據。

<form action="./userinfo/add.do">
    <input name="birth" placeholder="生日" />
    <input  type = "submit" value="提交"/>
</form>

 而在vo類裏面存放的birth爲一個日期對象類

private Date birth;

 假如我們這個時候進行直接提交。會出現400的錯誤。

這時我們就需要自定義一個數據類型轉換器。 分三步走戰略。

 

首先第一步。我們先定義一個數據類型轉換器。並把它放入ioc容器中。下面定義的是String 轉 Date 類型。

@Component
public class DateConverter implements Converter<String, Date> {

	public Date convert(String birth) {
		if(birth!=null && !"".equals(birth)) {
			SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
			try {
				dateFormat.parse(birth);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
}

 

第二部。我們再Spring 配置文件中將 這個DateConverter 類放入ConversionServiceFactoryBean的converters裏面。

<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
	<property name="converters">
		<set>
			<ref bean="dateConverter"/>
		</set>
	</property>
</bean>

第三步。加載到mvc:annotation-driven上面。

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

至此數據類型轉換器創建完畢,我們就可以放心的使用他了。

 

 

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