SpringMVC轉換器

定義一個自定義轉換器,要實現Converter接口

package com.mingde.converter;

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

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

public class DateConterver implements Converter<String, Date> { //參數一:是要被轉換的類型,參數二:是最終轉換成的類型

	//日期轉換器(將前臺傳入進來的日期型進行轉換(如:添加和修改時用到))
	@Override
	public Date convert(String str) {  //str是從前臺的文本框拿來的數據,默認String型
		try {
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
			java.util.Date parse = sdf.parse(str);	//將String型的日期通過SimpleDateFormat轉換爲默認的util.date型
			return new java.sql.Date(parse.getTime()); //再通過.getTime()方法將其轉換成long型,然後new一個sql.date,這樣就是數據庫類型的日期了
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}

}

這裏一般是爲了實現實體類po裏的日期類型,如:birth是sql.Date類型,那麼在實現add添加該屬性時,由於從前臺的文本框傳到後臺時,birth是Stirng類型,所以需要轉換器將其轉換爲原來的sql.Date類型,這樣就可以直接將其添加到數據庫了


轉換器配置

<!-- 配置日期轉換器 -->
		<bean id="DateConverter" class="org.springframework.context.support.ConversionServiceFactoryBean">
			<property name="converters">
				<!-- 這裏的class爲上面的自定義轉換器類的路徑 -->
				<list> <bean class="com.mingde.converter.DateConterver"/></list>
			</property>
		</bean>
 		<!-- 引用轉換器 -->
		<mvc:annotation-driven conversion-service="DateConverter"/>







發佈了62 篇原創文章 · 獲贊 9 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章