SpringMVC的引數繫結——日期型別
阿新 • • 發佈:2019-01-29
- 前言
讀完本文將會學到以下內容:
- 日期型別的引數繫結
學習本文需要安裝的軟體:
- JDK1.8 、IDEA2017.3、Maven3.3.3、Tomcat7.0.64
- 日期型別的引數繫結
1.準備POJO
public class TestUser {
private Integer id;
private String name;
private Date birthday;
//get,set方法
}
2.測試程式碼
//引數繫結:日期型別
//測試URL--http://localhost:8080/params2.test?id=23&name=xiaoming&birthday=2017-10-10
@RequestMapping(value = "/params2.test")
public void bindParams2(int id, String name, Date birthday) {
System.out.println("id=" + id);
System.out.println("name=" + name);
System.out.println("birthday=" + birthday);
}
3.注意事項
3.1 URL中的屬性值預設是字串。bindParams2的形參birthday被賦值為字串,想轉為Date型別,程式碼必報錯。
4.解決辦法
相信已有人想到,使用SimpleDateFormat
將字串型別日期
轉為Date型別日期
。對,沒錯,就是醬紫!
但是但是,前端傳的引數在哪裡轉型別呢?這就要用到SpringMVC的轉化器Converter
。
4.1 在SpringMVC配置檔案中配置自定義轉換器
<!-- 在SpringMVC配置檔案中配置自定義轉換器 -->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<!-- 自定義轉換器的類名 -->
<bean class="cn.itcast.core.util.DateConverter"></bean>
</property>
</bean>
4.2 編寫自定義轉換器
//編寫自定義轉換器
public class DateConverter implements Converter<String, Date> {
public Date convert(String source) {
//實現將字串轉成日期型別(格式是yyyy-MM-dd)
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return dateFormat.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null; //如果引數繫結失敗返回null
}
}
- 後記
下文將會介紹以下內容: