jsp 页面json数据提交到后台spring处理举例

0

前台: 

'type'        : 'post', 

'contentType' : 'application/json;charset=UTF-8', 

'data'        : JSON.stringify(JsonObject), 

其中JsonObject就是你组装的JSON对象 

后台: 

@RequestMapping(value = "/query", method = RequestMethod.POST) 

@ResponseBody 
public Map query(@RequestBody QueryVO queryVO) { 
   ... 


其中: 
1、必须是POST方式 
2、前台需要设置'contentType' 
3、前台JSON对象要转成字符串,如JSON.stringify(JsonObject), 
4、后台参数得用@RequestBody 注解 
5、如果你是异步处理返回的JSON值(比如Map等)则@ResponseBody是需要的 
6、这个时候,你的JsonObject 就会自动转为queryVO这个Bean 

自己的例子++++++--------------------------前台----------------------------------------------

var load_data = {
init : function(row){
var str="";
for(var i=0;i<row;i++){
str+="&";
}
$("#load_data").datagrid("loadData",{"total":row,"rows":str});
},
/*---------------提交数据------------------------------------*/
submit : function(){
var jsonStr=getJson();
$.ajax({
url : "baseline/addResult.action",
type : "POST",
contentType : 'application/json;charset=UTF-8',
dataType: "json",
data : jsonStr,
/*beforeSend : function(){
$.messager.progress({
text:"数据提交中-.-"
});
},*/
success:function(data, response, status){
if(data == "success"){
$.messager.alert("提示","数据提交成功","info");
}else{
$.messager.alert("警告","数据提交失败,请尝试再次提交!","warning");
}
}
});
},
/*---------------清空数据------------------------------------*/
clean : function(){
/*$('#load_data').datagrid('loadData', { total: 0, rows: [] });*/
var row_clean = $('#load_data').datagrid('getRows');
console.log(row_clean.length);
var str="";
for(var i=0;i<row_clean.length;i++){
str+=".";
}
$('#load_data').datagrid('loadData',{"total":10,"rows":[]});
}
};

后台++++++-----------------------------------------------------

@RequestMapping("baseline/addResult.action")
@ResponseBody
public void addResult(@RequestBody List<PerformanceResultModel> resultList,HttpServletRequest request,HttpServletResponse response){
log.info("获取json对象内容:"+resultList.toString()+" "+resultList.size());
PrintWriter pw;
try {
response.setContentType("text/html;charset=UTF-8");
pw = response.getWriter();
pw.write("success");
pw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

其中PerformanceResultModel为自己定义的bean

原文地址:https://www.cnblogs.com/anruy/p/5590821.html