前台传值和后台接收问题

一. 前台传值到后台的方式:
在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:“proTemplateController.do?getComboData&isAjax=true&data=”+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);
			}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值