springMVC傳遞JSON格式資料

pucheung發表於2015-04-21

      這兩天在使用SpringMVC傳遞JSON資料格式,出現了各種令人頭大的問題,但是功夫不負有心人,最後還是解決了問題。在這裡記錄下來供大家參考,如有不對,還請各位大俠指正。

      在SpringMVC傳遞JSON資料格式需要加入兩個jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar。

   實體JavaBean:Person  具有tname,gender,age 三個String型別的屬性,在這裡我們需要特別注意,Person需要一個無參建構函式,否則就會出現415程式碼錯誤。

   前臺ajax函式:

               $.ajax({
url:"ajaxs",//注意在這裡的請求路徑上面不能加上“/”否則就會出現400錯誤,無法找到請求路徑
type:"POST",
contentType: "application/json",//不加此項就會出現415錯誤程式碼
dataType:"JSON",
data:JSON.stringify({"tname":"張三","gender":"male","age":"20"}),//在這裡的引數我最開始一直都使用

   {"tname":"張三","gender":"male","age":"20"},結果導致一直出現400錯誤,表示前臺到後臺的資料不匹配
success:function(data,status){alert("ok");},
error:function(){alert("error");},
fail:function(){alert("fail");}
});

   

     後臺:

         @RequestMapping(value="/ajaxs",method=RequestMethod.POST)
   @ResponseBody
   public Person ajax(@RequestBody Person p)
   {
    p.setTname("lisi");
    System.out.println("ok");
    return p;
   }

    在這裡我不得不歎服SpringMVC的強大,僅僅使用@Requestbody和@ResponseBody就能實現javabean與JSON資料格式之前的傳遞。可能我們在網上查到說,在使用springMVC中使用JSON格式傳遞的時候需要配置一些資料轉換器之類的東西,但是在SpringMVC3.X以後我們僅僅只需要一個 <mvc:annotation-driven/>就可以將各種資料轉換器加入進來。

     

                  

相關文章