springMvc 怎么使用类型转换的呢 ,实现 Converter 接口
最长用的 是时间类型的转换 否则 400
controller 接受
/**
* 接收日期类型参数
* 注意:
* springmvc 在接收日期类型参数时,如不做特殊处理 会出现400语法格式错误
* 解决办法
* 1.全局日期处理
*
*/
@RequestMapping("/test")
public String test(Date birthday){
System.out.println(birthday);
return "index";
}
自定义类型转换规则
SpringMvc提供了Converter接口,它支持从一个Object转换为另一个Object
/**
* 全局日期处理类
* Convert<T,S>
* 泛型T:代表客户端提交的参数 String
* 泛型S:通过convert转换的类型
*/
public class DateConvert implements Converter<String, Date> {
@Override
public Date convert(String stringDate) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(stringDate);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
注册自定义的类型转换类
<!-- 第三步:注册处理器映射器/处理器适配器 ,添加conversion-service属性-->
<mvc:annotation-driven conversion-service="conversionService"/>
<!-- 第二步: 创建convertion-Service ,并注入dateConvert-->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="dateConvert"/>
</set>
</property>
</bean>
<!-- 第一步: 创建自定义日期转换规则 -->
<bean id="dateConvert" class="zpark.convert.DateConvert"/>