Controller中方法如下:
@RequestMapping("/flexgrid")
@ResponseBody
public Flexgrid flexgrid(BaseBook baseBook) {
return baseBookService.flexgrid(baseBook);
}
然后需要将返回的数据做json处理,在这里我们调用第三方的包jackson。
需要导入jackson-mapper-asl-1.9.10.jar和jackson-core-asl-1.9.10.jar。
然后在自己的Spring配置文件中进行下数据格式的配置:
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> </bean>
之所以有的网友会报406错误,是因为没有对返回的数据做Json处理。
Spring的标签只是声明返回的是一个实体对象,需要自己去转换成json.