SpringMVC框架09——@ResponseBody的用法详解

@ResponseBody可以标注在方法上也可以标注在类上面。简单来说,当标注在方法上时,该方法的返回结果直接转成JSON格式;当标注在类上时,该类中的所有方法的返回结果都转换成JSON格式。

代码示例如下:

前端的异步请求使用JQuery的ajax方法

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</script>
<script>
      $.ajax({
            url:"/testxxx",
            success:function(result){
             $("#div1").html(result);
            }
     });
</script>

 

 

服务器端Controller类

标注在方法上,返回值类型为String类型

@RequestMapping("/teststr")
@ResponseBody
public String getStr(){
   return "hello";
}

 访问结果

 

返回值类型为集合类型

@RequestMapping("/testlist")
@ResponseBody
public List getList(){
    List<String> list = new ArrayList<String>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    return list;
 }

 

返回结果

 

 返回值类型为Map类型

@RequestMapping("/testmap")
@ResponseBody
public Map<Integer,String> getMap(){
    Map<Integer,String> map = new HashMap<Integer, String>();
    map.put(1,"aaa");
    map.put(2,"bbb");
    map.put(3,"ccc");
    return map;
}

  返回结果

 

返回值类型为POJO类型

Student类

public class Student {
    private String name;
    private int age;

    //getter和setter方法
    
}

 Controller类

@RequestMapping("/getstu")
@ResponseBody
public Student getStu(HttpServletResponse response){
     Student stu = new Student();
     stu.setName("Tom");
     stu.setAge(20);
     return stu;
}

  返回结果

posted @ 2019-03-20 10:06  Web1024  阅读(1646)  评论(0编辑  收藏  举报