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;
}

  返回結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM