天天看點

《SpringMvc》---實作JSON資料互動

前言

  • 現在企業中好多項目都用Json傳送資料,因為Json在企業開發中已經作為通用的接口參數類型,并且Json資料在頁面(用戶端)解析很友善。下面是Json的定義形式。

現在有兩種需求:

  • 前台Jsp向Handler中傳遞Json資料,Handler向前台傳回Json資料。
  • 前台Jsp向Handler中傳遞鍵值對形式,Handler傳回json資料。

第一種,前台傳json,Handler傳回的也是Json

Js代碼

function requestjson(){
    $.ajax({
        type:'post',
        url:'${pageContext.request.contextPath }/requestJson.action',
        contentType:'application/json;charset=utf-8',
        data:'{"name":"張三","age":12}',//json串
        success:function(data){
            alert(data.name);
        }
    });
}
           

Handler代碼

@ResponseBody
@RequestMapping("/requestJson")
public Student requestJson(@RequestBody Student student){
    System.out.println(student);
    return student;
}
           

第二種,前台傳遞鍵值對,背景傳回的是Json

Js代碼

function responsejson(){
    $.ajax({
        type:'post',
        url:'${pageContext.request.contextPath }/responseJson.action',
        data:'name=張三&age=12',//key/value
        success:function(data){
            alert(data.name);
        }
    });
}
           

Handler代碼

@ResponseBody
@RequestMapping("/responseJson")
public  Student responseJson(Student student) throws Exception{
    System.out.println(student);
    return student;
}
           

小結

  • 這是利用JQuery的Ajax來實作前背景傳遞Json資料的,再Handler中,如果想接受前台傳遞過來的Json資料,那麼在形參前面加上@RequestBody注解,如果Handler也想傳回Json資料,那麼可以在方法上加上@ResponseBody注解。