Spring MVC : Property referenced in indexed property path is neither an array nor a List nor a Map

今天写页面的时候,需要通过JSON发送一个list<Object>给后端,chrome控制台打印的发送内容没有问题,可是后端接收到的内容解析后变为了:modifySaleList[0][orgCode] =xxx; 百度了好久,终于找到一个非常暴力的解决方案:

前端代码:

var list = {};//创建list集合
$(ids).each(function (index , id) {
		//由id获得对应数据行
		var row = $("#dataGrid").jqGrid("getRowData" , id);

        list["modifySaleList["+index+"].orgCode"] = row.orgCode;
        list["modifySaleList["+index+"].saleNo"] = row.saleNo;
        list["modifySaleList["+index+"].posNo"] = row.posNo;
    });

//ajax提交请求
var jsonData = "modifyDate=" + tmpDate;
        $.ajax({
            type:"POST",
            url:"${ctx}/modifysale/modifySale/saveModifySale?" + jsonData,
            data: list,
            dataType:"json",
            async : false ,
            success:function(result){
                alert(result.msg);
                location.reload();
            },
            error:function () {

            }
        });

后端代码:

    @RequestMapping(value = "saveModifySale")
	@ResponseBody
	public AjaxUtil saveModifySale(String modifyDate , ModifySale modifySale){
		AjaxUtil result = new AjaxUtil();
		String mDate = modifyDate;
		System.out.println(mDate);

		List<ModifySale> list = modifySale.getModifySaleList();
		int index = 0;
		for (ModifySale m:list
			 ) {
			String errorMessage = "";
			m.setModifyDate(mDate);
			index = modifySaleService.saveEntity(m);
			if (index == 1){
				result.setAjaxResult(result, "", 0, "保存数据成功");
			}else {
				errorMessage = "修改不成功流水不成功,流水号 = " + m.getSaleNo();
				result.setAjaxResult(result , "" , 2 , errorMessage);
				break;
			}
		}

		return result;
	}

参考文献:https://blog.csdn.net/freeniuniu/article/details/78806508

感谢:FreeG牛牛的文章帮助!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值