spring自定義參數綁定(日期格式轉換)


spring參數綁定時可能出現 BindException(參數綁定異常),類似下面的日期綁定異常(前台傳過來是String類型,實際的pojo是Date類型)

default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'endTime';
nested exception is org.springframework.core.convert.ConversionFailedException: Unable to convert value "2016-01-31" from type 'java.lang.String' to type 'java.util.Date';

自定義Converter

 

public class CustomDateConverter implements Converter<String, Date> {

    @Override
    public Date convert(String source) {
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return simpleDateFormat.parse(source);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}

 

springmvc.xml配置

<mvc:annotation-driven conversion-service="conversionService">
</mvc:annotation-driven>
<!-- conversionService -->
    <bean id="conversionService"
        class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <!-- 轉換器 -->
        <property name="converters">
            <list>
                <bean class="com.xxx.xxx.converter.CustomDateConverter"/>
            </list>
        </property>
    </bean>

pojo的日期屬性注入

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM