spring mvc request作用
1、@requestBody注解常用來處理content-type不是默認的application/x-www-form-urlcoded編碼的內容,比如說:application/json或者是application/xml等。一般情況下來說常用其來處理application/json類型。
2、通過@requestBody可以將請求體中的JSON字符串綁定到相應的bean上,當然也可以將其分別綁定到對應的字符串上。
例如說以下情況:
$.ajax({
url:"/login",
type:"POST",
data:'{"userName":"admin","pwd","admin123"}',
content-type:"application/jsoncharset=utf-8",
success:function(data)
{
alert("requestsuccess!");
}
});
@requestMapping("/login")
publicvoidlogin(@requestBodyStringuserName,@requestBodyStringpwd){
System.out.println(userName+":"+pwd);
}
這種情況是將JSON字符串中的兩個變量的值分別賦予了兩個字符串,但是呢假如我有一個User類,擁有如下字段:StringuserName;Stringpwd;那么上述參數可以改為以下形式:@requestBodyUseruser這種形式會將JSON字符串中的值賦予user中對應的屬性上需要注意的是,JSON字符串中的key必須對應user中的屬性名,否則是請求不過去的。
3、在一些特殊情況@requestBody也可以用來處理content-type類型為application/x-www-form-urlcoded的內容,只不過這種方式不是很常用,在處理這類請求的時候,@requestBody會將處理結果放到一個MultiValueMap<String,String>中,這種情況一般在特殊情況下才會使用,例如jQueryeasyUI的datagrid請求數據的時候需要使用到這種方式、小型項目只創建一個POJO類的話也可以使用這種接受方式。
作用:
i)該注解用于讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然后把相應的數據綁定到要返回的對象上;
ii)再把HttpMessageConverter返回的對象數據綁定到controller中方法的參數上。
easyui datagrid當遇到有特殊字符時不顯示數據
data=JSON.parse(data);//轉換成json對象,必須的!!!不然有異常!!!這個地方提示錯誤?提示那就是你數據源不對不用想了