javaEE Springmvc,Converter型別轉換器,對請求引數自動進行型別轉換/處理(轉成Date日期型別)
阿新 • • 發佈:2018-12-11
src/springmvc.xml(Springmvc核心配置檔案,配置型別轉換器,為介面卡指定轉換器):
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 開啟註解掃描。 掃描 @Controler @Service等註解 --> <context:component-scan base-package="com.xxx"/> <!-- 註解驅動; 指定處理器對映器、處理器介面卡; 為介面卡指定轉換器(介面卡會根據需要的接收型別對請求引數自動進行轉換) --> <mvc:annotation-driven conversion-service="conversionServiceFactory"/> <!-- 配置Converter轉換工廠(對請求引數進行處理轉換)。 (可以轉換日期格式;可以對請求引數前後空格進行處理等) --> <bean id="conversionServiceFactory" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <!-- 可以配置多個轉換器--> <property name="converters"> <list> <bean class="com.xxx.springmvc.conversion.DateConveter"/> <!-- 自定義的日期格式轉換器 --> </list> </property> </bean> <!-- 檢視解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <!-- 檢視(jsp頁面)請求路徑的字首 --> <property name="suffix" value=".jsp"/> <!-- 字尾 --> </bean> </beans>
DateConveter.java(自定義的型別轉換器,實現Converter介面):
package com.xxx.springmvc.conversion; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.convert.converter.Converter; /** * 轉換成指定格式的日期型別 * String : 請求引數的型別 * Date : 轉換後的型別 */ public class DateConveter implements Converter<String, Date>{ //實現Converter介面; 泛型<請求引數型別,轉換後的型別> @Override public Date convert(String source) { try { if(source != null){ DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return df.parse(source); } } catch (Exception e) { // TODO: handle exception } return null; } }