SpringMVC返回json数据格式(返回值作为响应体)
来源:互联网 发布:医学影像工作站软件 编辑:程序博客网 时间:2024/05/26 08:42
本文探讨了基于注解方式的SpringMVC(3.1版本以上)返回值(响应体)的类型的探讨,由于xml格式解析的复杂化和js平台支持状况,下面主要探讨了基于返回json格式数据的返回值类型的问题,可以返回三种类型的数据会被转换为json格式,第一种:Map类型;第二种:List<pojo>类型;第三种:pojo类(类里面只有属性和set、get方法,属性也可以是map和List,如果是map和list则返回的json为复杂格式的json)
第一步:配置SpingMVC注解模式和json格式数据支持(springmvc-servlet.xml)
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<mvc:annotation-driven />
<!-- 自动搜索@Controller标注的类 -->
<context:component-scan base-package ="com.**.controller"/>
<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/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- JSON格式支持 -->
<bean class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
第二步:编写controller
@Controller
@RequestMapping("/testController")
public class ContractQueryController {
@RequestMapping(value = "/test1")
// 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter(以在上面定义完毕)转换为指定格式后,写入到Response对象的body数据区。
@ResponseBody
public List<String> test (){
List list = new ArrayList();
list.add("1");
list.add(,"2");
list.add("3");
return list;
}
@RequestMapping(value = "/test2")
@ResponseBody
public Map<String, String> test1 (){
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
return map;
}
@RequestMapping(value = "/test3")
@ResponseBody
public DataGird test3(){
DataGird dataGird=new DataGird();
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
dataGird.setRows2(map);
dataGird.setA("mmmmm");
return dataGird;
}
第三步编写DataGird类(pojo)public class DataGird{
private List<String> rows1;private Map<String, String> rows2;
private String a;
public List<String> getRows1() {
return rows1;
}
public void setRows1(List<String> rows1) {
this.rows1 = rows1;
}
public Map<String, String> getRows2() {
return rows2;
}
public void setRows2(Map<String, String> rows2) {
this.rows2 = rows2;
}
public String getA() {
return A;
}
public void setA(String a) {
A = a;
}
}
第四步,编写js来测试是否能获取数据
function test(){
$.ajax({
type: "get",
url: "/上下文路径/testController/test1",
datatype: "json",
async: false,
data: ,
success: function(data){
$.each(data, function(key,val){
alert("k"+"是:"+val);
}
}
- SpringMVC返回json数据格式(返回值作为响应体)
- SpringMVC配置返回JSON数据格式
- springmvc解决返回json的数据格式问题
- springMVC 返回json值
- thinkphp返回Json数据格式
- SpingMVC返回json数据格式
- 关于springmvc 处理ajax返回json数据格式的问题
- 解决SpringMVC返回Json数据格式不严谨报异常的问题(草稿未完成)
- springmvc中以一个页面作为响应返回给ajax
- springmvc中以一个页面作为响应返回给ajax
- thinkphp返回Json的数据格式
- spring mvc 返回json数据格式
- RESTEasy之返回JSON数据格式
- SpringMVC返回json
- SpringMVC返回JSON格式
- springmvc返回json乱码
- springmvc 返回json配置
- Springmvc返回json
- This application failed to start because it could not find or load the Qt platform plugin
- 见微知著,以小“控”大的三极管(五)
- Eamcs 使用eww浏览器
- 关于MFC中树形控件的多选实现
- 阅读笔记20141203
- SpringMVC返回json数据格式(返回值作为响应体)
- tomcat中日志
- Throwable类介绍
- Windows Vista 新增的同步原语
- MySQL字符集编码问题
- CodeForces 148D Bag of mice 概率DP , DFS
- 程序员应该知道的97件事
- 排序算法
- 分享我的百度网盘 iPhone6适配教程、自动布局教程 (视频)