SpringMVC自定義引數繫結器【日期型別】
阿新 • • 發佈:2018-12-18
前提:由於日期型別有很多種格式,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"/>