【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
  1. 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html 
  2. 【Spring学习笔记-MVC-4】返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html 
  3. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展:http://www.cnblogs.com/ssslinppp/p/4675495.html 
文章的内容主要如下:
  1. 方式1:讲解如果返回单个对象的json;==>使用@ResponseBody来实现;注解方式
  2. 方式2:讲解如果返回多个对象的json;==>使用MappingJacksonJsonView来实现;xml配置方式
  3. 方式1-扩展:讲解如果返回多个对象的json;==>使用@ResponseBody来实现;注解方式
个人认为,使用 @ResponseBody方式来实现json数据的返回比较方便,推荐使用。

 
 

概述


在文章:《 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1 http://www.cnblogs.com/ssslinppp/p/4528892.html  中,
SpringMVC返回json数据时,只是返回了一个对象的json数据,如下图所示:
【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第1张图片
 
为了返回多个对象的json数据,效果如下图:
【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第2张图片
我们使用了MappingJacksonJsonView来返回,具体见文章:《 【Spring学习笔记-MVC-4】返回Json数据-方式2 》,参考链接: http://www.cnblogs.com/ssslinppp/p/4530002.html 。
实际上使用@ResponseBody就可以实现多个对象的json数据的返回,下面将介绍之。

 

web.xml


  1. xml version="1.0" encoding="UTF-8"?>
  2. version="2.5"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  4. contextConfigLocation
  5. classpath:applicationContext.xml
  6. org.springframework.web.context.ContextLoaderListener
  7. spring
  8. org.springframework.web.servlet.DispatcherServlet
  9. 3
  10. spring
  11. /
 

spring-servlet.xml


【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第3张图片
没有什么特别的地方
 
 

applicationContext.xml


【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第4张图片

也没有什么特别的地方
 

控制层代码


【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第5张图片
 
  1. package com.ll.web;

  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;

  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.ResponseBody;

  10. import com.ll.model.Person;

  11. @Controller
  12. @RequestMapping(value = "/test")
  13. public class TestController {
  14. @RequestMapping(value = "/list", method = RequestMethod.GET)
  15. @ResponseBody
  16. public Map, Object> getUserList() {
  17. List list = new ArrayList();
  18. Person user1 = new Person();
  19. user1.setUsername("Tom");
  20. user1.setPasswd("66666");

  21. Person user2 = new Person();
  22. user2.setUsername("Jone");
  23. user2.setPasswd("88888");

  24. list.add(user1);
  25. list.add(user2);

  26. Map, Object> modelMap = new HashMap, Object>(3);
  27. modelMap.put("Work", "研发");
  28. modelMap.put("School","Suzhou");
  29. modelMap.put("userList",list);
  30. return modelMap;
  31. }
  32. }

测试


输入网址: http://localhost:8080/SpringMVCTest/test/list 
【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展_第6张图片
 

你可能感兴趣的:(spring,springmvc,json)