strus2接受数组和数组对象

通过不断的百度和尝试终于找到了strus2接受的数组和数组对象的json格式了

1、数组

 话不多说直接上代码:

1.1 js的代码

//批量删除--传字符串list
function batchDeleteById(qz, url) {
	var msg = $.messager.alert("提示", "确定要删除选中行?","",function(){
		selects = $("#"+qz+"Datagrid").datagrid("getSelections");
		var ids = new Array();
		for(var i=0,len=selects.length; i<len; i++){
			ids.push(selects[i].uuid);
		}
		console.log(ids);
		var param = $.param({"ids":ids},true);
		console.log(param);
//		requestByAjax(qz, url, param);
	});

然后来看看控制台输出

[18,19,20]//这是Array数组
ids=18&ids=19&ids=20//这是被param方法格式化后

然后是后台接收的变量

	/**
	 * 批量删除
	 */
	private List<String> ids;
	
	public List<String> getIds() {
		return ids;
	}

	public void setIds(List<String> ids) {
		this.ids = ids;
	}

听说这里换成数组也行,不过我比较喜欢用List

2、数组对象

js代码

function batchDelete(qz, url) {
	var msg = $.messager.alert("提示", "确定要删除选中行?");
	msg.window({onClose: function() {
		selects = $("#"+qz+"Datagrid").datagrid("getSelections");
		var objs = {};
		var str = "";
		for(var i=0; selects.length>i; i++) {
			objs["dep["+i+"].uuid"]=selects[i].uuid;
			objs["dep["+i+"].name"]=selects[i].name;
			objs["dep["+i+"].tele"]=selects[i].tele;
		}
		requestByAjax(qz, url, objs);
	}});
}

传送的json格式

dep[0].name: "撒大是大非"
dep[0].tele: "12312312"
dep[0].uuid: 47
dep[1].name: "阿斯顿啊"
dep[1].tele: "12312312"
dep[1].uuid: 48
dep[2].name: "啊大说的"
dep[2].tele: "123123"
dep[2].uuid: 49
dep[3].name: "阿瑟大时代"
dep[3].tele: "123123123"
dep[3].uuid: 50

其实就是把数组对象拼装成js对象传送的

然后后台接收

	/**
	 * 批量删除属性注入
	 */
	private List<Dep> dep;

	public List<Dep> getDep() {
		return dep;
	}

	public void setDep(List<Dep> dep) {
		this.dep = dep;
	}

总结

相对于数组,传送数组对象的格式要求更严格,必须是类似于“  dep[0].name: "撒大是大非"  ”这样的格式,其中dep[0]在后台代表一个对象,中括号必须要有,当然,属性的名字你可以换,但是要和前台传来的数据的名字对应,比如

json       java

ids          ids

dep[0]    dep

转自:

https://blog.csdn.net/hiyohu/article/details/45897551

https://blog.csdn.net/qq_36804605/article/details/56288030

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值