本文實例為大家分享了SpringMVC中controller接收json數據的方法,供大家參考,具體內容如下
1.jsp頁面發送ajax的post請求:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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是項目根目錄:
1
2
3
4
|
<% String path = request.getContextPath(); String basePath = request.getScheme()+ "://" +request.getServerName()+ ":" +request.getServerPort()+path+ "/" ; %> |
2.controller接收請求:
1
2
3
4
5
6
|
@ResponseBody @RequestMapping (value= "/ajaxRequest" ,method=RequestMethod.POST) public User ajaxRequest( @RequestBody User user){ System.out.println(user); return user; } |
注意:
1.@ResponseBody修飾的方法返回的數據,springmvc將其自動轉換成json格式,然后返回給前端
2.@RequestBody修飾目標方法的入參,可以將ajax發送的json對象賦值給入參。當然這里的入參user是我們自定義的實體類型。
3.最后將user返回,springmvc自動將其轉換成json返回給前端
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/javafucker/p/7509099.html