1. 程式人生 > >SpringMVC自定義引數繫結器【日期型別】

SpringMVC自定義引數繫結器【日期型別】

前提:由於日期型別有很多種格式,springmvc無法將字串轉換成日期型別,所以需要我們根據業務需求自定義引數繫結!

  • 第一步:自定義引數繫結器---根據介面卡引數繫結器的編碼要求規範開發bean
package com.cyn.ssm.converter;

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

import org.springframework.core.convert.converter.Converter;
/*自定義的引數繫結器-日期型別轉換器
 *根據介面卡引數繫結器的要求規範開發
 *編寫規範:實現Converter<>介面
 *String:要轉換的源資料型別
 *Date:目標資料型別
 */
public class DateConverter implements Converter<String, Date> {
	
	@Override
	public Date convert(String source) {
		//1.定義我們要轉成的日期型別(格式是:yyyy-MM-dd HH:mm:ss)
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			//2.進行轉化,轉化成功直接返回
			return simpleDateFormat.parse(source);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//3.如果引數繫結失敗返回null
		return null;
	}

}
  • 第二步: 配置引數繫結器---在springmvc的核心配置檔案中註冊該引數繫結bean到spring容器
<!-- 自定義引數繫結器 -->
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    	<!-- 轉化器 -->
    	<property name="converters">
    		<list>
    			<!-- 自定義日期型別的轉化實現類 -->
    			<bean class="com.cyn.ssm.converter.DateConverter"></bean>
    		</list>
    	</property>
    </bean>  
  • 第三步: 處理器是由介面卡執行的,所以需要在springmvc的核心配置檔案中向處理器介面卡注入自定義的引數繫結元件bean
    <!-- 配置註解驅動:基於註解的對映器和介面卡配置 -->
    <mvc:annotation-driven conversion-service="conversionService"/>