标签:
其实前面一篇关于zTree返回JSON数据的文章已经有一种解决方案了,但是当我今天在新公司搭建新环境的时候,发现决然又不行了,所以我觉得那应该不是最优的解决方案。
说起来,我以前接触到的一个项目,根本没有配置spring的文件,就直接用@ResponseBody可以返回JSON数据,不知道其中的秘诀在什么地方,搞不懂了。
今天主要提供另一个解决@ResponseBody返回JSON数据,页面抛出406错误的解决方案。
第一步,引入包:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.2.3</version> </dependency>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> </list> </property> </bean>
再次测试,解决问题。
测试代码如下:
1、JAVA代码
/**
* 通过注解@ResponseBody返回JSON数据
*
* @return
*/
@RequestMapping("getdatabyresponsebody.json")
public @ResponseBody Map<String, Object> getAjaxDataByResponseBody() {
System.out.println("通过注解@ResponseBody返回JSON数据");
Map<String, Object> map = new HashMap<String, Object>();
map.put("success", true);
map.put("message", "Successfully returning the data.");
return map;
}
2、JS代码
function getAjaxDataByResponseBody(){
$.ajax({
url:‘ajax/getdatabyresponsebody.json‘,
type:‘post‘,
dataType:‘json‘,
success:function(data){
alert(data.success);
alert(data.message);
},
error:function(){
alert(‘System is wrong.‘);
}
});
}
Spring MVC使用@ResponseBody返回JSON数据406问题解决方案
标签:
原文地址:http://my.oschina.net/simpleton/blog/484690