主页 > 知识库 > ajax从JSP传递对象数组到后台的方法

ajax从JSP传递对象数组到后台的方法

热门标签:广西智能外呼系统多少钱 平凉高德地图标注商户要收费吗 提高电话机器人接通率 销售电销机器人诈骗 地图标注与公司业务关系 外呼系统api对接 荆州智能电销机器人 福建微码电话机器人 大学校门地图标注

今日工作中遇到了需要从JSP传递对象数组到后台的需求,网上辗转找了很多资料,终于解决。苦于网上很多资料不全,故记录下详细解决过程。如下:

JSP:

function addAccount(){
		debugger;
		var html = '';
		var ary = $("#match_account").find("p");
		var _list = new Array();
		
		if(ary.length){
			for(var i = 0,len = ary.length;i  len;i ++){
				var account = new Object();
				html += 'li class="fl mb8" data-id="'+ary[i].id+'" data-sort="0">';
				html += 'span class="mr8 display-ib" style="background:#eee;padding:0px 5px 6px 5px">';
				html += 'span data-id="">'+ary[i].innerHTML+'/span>';
				html += 'a onclick="deleteAccount(this);" href="javascript:;" rel="external nofollow" class="js-btn-remove-tag ml4" style="vertical-align:5px;color:#999;" title="删除">x/a>';
				html += '/span>';
				html += '/li>';
				
				account.accountId = ary[i].id; 
				account.account = ary[i].innerHTML; 
				_list.push(account);
			}
			
			$.ajax({
				type: "post",
				url: "${ctx}/companyAccount/addContributeAccounts",
				data : {list : JSON.stringify(_list)},
				async: false,
				success: function (json) {
					var result = json.obj.result;
					if(result != 1){
						layer.error('添加账号失败.');
					}
				}
			});
		}
		
		$("#contribute_account").append(html);
	}

关键之处有三:

一,定义数组

var _list = new Array();

二,定义对象,并迭代添加对象属性,最后push进数组

var account = new Object();
account.accountId = ary[i].id; 
account.account = ary[i].innerHTML; 
_list.push(account);

三,提交时转换数组对象

data : {list : JSON.stringify(_list)}

后台java:

/**
	 * 添加投稿账号
	 */
	@RequestMapping(value = "addContributeAccounts")
	@ResponseBody
	public JsonResult addContributeAccounts(String list) {
		JSONArray ary = JSONArray.fromObject(list);
		if(ary != null  ary.size() > 0){
			ListRegionContributeAccount> accountList = (ListRegionContributeAccount>)JSONArray.toCollection(ary, 
					RegionContributeAccount.class);
			for(RegionContributeAccount account : accountList){
				companyAccountService.insertContributeAccount(account);
			}
		}
		
		MapString, Object> obj = new HashMapString, Object>();
		
		obj.put("result", 1);
		
		return JsonResult.success(obj);
	}

后台要点有二,

一,转换ary数组

JSONArray ary = JSONArray.fromObject(list);

二,数组转自定义java对象

ListRegionContributeAccount> accountList = (ListRegionContributeAccount>)JSONArray.toCollection(ary, 
  RegionContributeAccount.class);

自此,便打通前后端任督二脉。

以上这篇ajax从JSP传递对象数组到后台的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • jquery ajax 向后台传递数组参数示例
  • 使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
  • 以JSON形式将JS中Array对象数组传至后台的方法
  • ajax 提交数据到后台jsp页面及页面跳转问题

标签:黔东 衡阳 德阳 海南 娄底 邯郸 乐山 内江

巨人网络通讯声明:本文标题《ajax从JSP传递对象数组到后台的方法》,本文关键词  ajax,从,JSP,传递,对象,数组,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《ajax从JSP传递对象数组到后台的方法》相关的同类信息!
  • 本页收集关于ajax从JSP传递对象数组到后台的方法的相关信息资讯供网民参考!
  • 推荐文章