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;
