一.前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;
解决方案:使用stringify将前端传递的对象转化为字符串 data: JSON.stringify(param) ,后台的方法在返回值类型前没有加@RequestBody注解
二.由于日期数据有很多种格式,springmvc没办法把字符串转换成日期类型
解决方案: 1.在实体类的日期属性上加上注解@DateTimeFormat(pattern="yyyy-MM-dd"),另需注意是util包下的Date
2.自定参数绑定
1).自定义converter
package cn.test.converter; //自定义的转换器需要 实现Converter接口 //S(source):源,被转换的数据类型,本例中是把字符串转日期类型,这里应该是String //T(target):目标,需要转为成什么数据类型,本例中是把字符串转日期类型,这里目标是Date public class DateConverter implements Converter<String, Date> { @Override public Date convert(String source) { // 创建转换的对象,yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { // 执行字符串转日期 Date date = sdf.parse(source); // 返回转换成功的日期 return date; } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 如果有异常返回空 return null; } }
2).在springmvc.xml中配置Converter
<!-- 配置注解驱动 --> <mvc:annotation-driven conversion-service="conversionService" /> <!-- 转换器配置 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class=" cn.test.converter.DateConverter" /> </set> </property> </bean>