快捷搜索: 王者荣耀 脱发

前台传值和后台接收问题

一. 前台传值到后台的方式: 在js里面构造数据的方式: 1) 直接构造json格式,如集合对象: var users=[{name:‘张三’, age:‘21’, birth:‘1994-12-12’}, {name:‘李四’, age:‘20’, birth:‘1995-12-11’}, {name:‘wangwu’, age:‘20’, birth:‘1995-12-11’}] 2) 通过Object构造 var data1 = new Object(); data1.username = “liufu”; data1.userpwd = “abc”; data1.age = 22; 3 ) 通过手动构造 var data2 = { username:“liufu”, userpwd:“abc” } data2.age = 22; 4 ) 根据datagrid表格构造数组或是集合(每一行数据的集合) var list = new Array() var allRows = $("#productListForTemp").datagrid(“getRows”); for(var i=0; i<allRows.length; i++){ var datas = {}; datas.tempId = allRows[i].id; datas.collectNode = allRows[i].collectNode; datas.collectUnit = allRows[i].collectUnit; datas.submitOrDeliver = allRows[i].submitOrDeliver; list.push(datas) } 利用ajax发送请求: $.ajax({ url:“”+JSON.stringify(data1), type:“POST”, dataType:“json”, async:false, data:datax, success:function(data){ if(‘AcquisitionNode’==code){ collectNodeComboData=data; }else if(‘collectUnit’==code){ collectUnitComboData=data; }else if(‘submitOrDeliver’==code){ submitOrDeliverComboData=data; } } }); data1 和data2里面的数据是一样的。都可以放在jquery的所有ajax请求功能的方法中的data参数位置。 注意:在ajax方法的data的数据必须是*json格式的数据 上面的1users就可以通过ajax的data转化成JSON.stringify(users) 传参数,后台用@requestbody接收,如果参数是放在url的后面,集合类的数据要转化成json字符串到后台。

二:后台接收前台传过来的值: 1.用@requestBody接收参数: 这个注解将前台传过来的参数转化成json格式并将其绑定到对象类里面。 @RequestMapping(value="/saveJsonUser.do",method=RequestMethod.POST)

public Map saveJsonUser(@RequestBody User[]users){

for(Useru:users){ System.out.println(u.getName()+" “+u.getAge()+” "+u.getBirth()); } return result; } 2. 上面的添加在url后面的 data1参数的接收: 后台可以用request.getparameter(“data1”)接收,这样成了一个字符串怎么转化成想要的对象或者json格式数据呢? 阿里巴巴有个fastjson转换类:JSONArray arr = JSONArray.parseArray(data1); 这样讲json格式字符串转化成了json数组。然后可以通过遍历json数组,得到自己想要的值。

JSONArray arr = JSONArray.parseArray(data1);
for (int i = 0; i < arr.size(); i++) {
            	String a=JSONObject.parseObject(JSONObject.toJSONString(arr.get(i))).getString("a");
            	String b=JSONObject.parseObject(JSONObject.toJSONString(arr.get(i))).getString("b");
            	String c=JSONObject.parseObject(JSONObject.toJSONString(arr.get(i))).getString("c")
                sessionFacade.save(plt);
			}
经验分享 程序员 微信小程序 职场和发展