1. 程式人生 > >SpringMVC中controller接收Json資料(重要)!

SpringMVC中controller接收Json資料(重要)!

SpringMVC中controller接收Json資料

1.jsp頁面傳送ajax的post請求:

function postJson(){
    var json = {"username" : "imp", "password" : "123456"};
    $.ajax({
        type : "post",
        url : "<%=basePath %>ajaxRequest",
        contentType : "application/json;charset=utf-8",
        dataType : "json",
        data: JSON.stringify(json),
        success : function(data){
            alert("username:"+data.username+"   id:"+data.id);
        },
        error : function(){
            alert("請求失敗");
        }
    })
}

注意:

1.在傳送資料時,data鍵的值一定要寫成JSON.stringify(json),將資料轉換成json格式,否則會丟擲異常

2.basePath是專案根目錄:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

2.controller接收請求:

    @ResponseBody
    @RequestMapping(value="/ajaxRequest",method=RequestMethod.POST)
    public User ajaxRequest(@RequestBody User user){
        System.out.println(user);
        return user;
    }

注意:

[email protected]修飾的方法返回的資料,springmvc將其自動轉換成json格式,然後返回給前端

[email protected]修飾目標方法的入參,可以將ajax傳送的json物件賦值給入參。當然這裡的入參user是我們自定義的實體型別。

3.最後將user返回,springmvc自動將其轉換成json返回給前端