情景:使用在方法中绑定数据的时候,打开链接,出现400错误。
@RequestMapping(value = "editItemSubmit")
public String editItemSubmit(int id, Items item) {
itemService.updateItemFromId(id, item);
return "redirect:queryItemlList";
}
public class Items {
private int id;
private String name;
private float price;
private String pic;
private Date createtime;
private String detail;
注意看:我的bean里面是有Date这个类型,但是spring mvc 并不能把前段的string类型转换成整理的Date类型,所以出现了这个错误。
解决办法:使用自定义参数绑定(converter转换器方式)
- 编写响应的converter,实现固定接口:
第一个参数是原始类型,第二个参数是转换后的类型
public class CustomDateConverter implements Converter<String, Date> {
@Override
public Date convert(String s) {
try {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
在springmvc.xml配置文件配置格式化转换服务工厂bean:FormattingConversionServiceFactoryBean
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="xyz.zhulei.spring_mybatis.controller.convert.CustomDateConverter"/>
</list>
</property>
</bean>
然后加上:
<mvc:annotation-driven conversion-service="conversionService"/>
大功告成,就可以自动完成string到date的转换了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-27 11:50:10