前言
- 現在企業中好多項目都用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注解。