前端传list,springmvc接收list的方法
handler: function() {
var baseCustomerForm = me.getAddBaseCustomerForm().getForm();
var linkStore = me.getResultLinkGrid().getStore();
if (!baseCustomerForm.isValid()) {
return;
} var customerLinkList = [];
for (var i = 0; i < linkStore.data.items.length; i++) {
var customerLink = new Object();
customerLink.customerLink = linkStore.data.items[i].data.customerLink,
customerLink.customerLinkMobile = linkStore.data.items[i].data.customerLinkMobile,
customerLink.customerLinkPhone = linkStore.data.items[i].data.customerLinkPhone,
customerLink.province = linkStore.data.items[i].data.province,
customerLink.city = linkStore.data.items[i].data.city,
customerLink.county = linkStore.data.items[i].data.county,
customerLink.street = linkStore.data.items[i].data.street,
customerLink.provinceName = linkStore.data.items[i].data.provinceName,
customerLink.cityName = linkStore.data.items[i].data.cityName,
customerLink.countyName = linkStore.data.items[i].data.countyName,
customerLink.streetName = linkStore.data.items[i].data.streetName,
customerLink.customerAddress = linkStore.data.items[i].data.customerAddress,
customerLink.isMain = linkStore.data.items[i].data.isMain,
customerLinkList.push(customerLink);
}
var flag = true;
for (var j = 0; j < customerLinkList.length; j++) {
if (customerLinkList[j].isMain == 1) {
flag = false;
}
}
if (flag) {
Ext.ux.Toast.msg('提示', '请选择一个主联系人', 'error');
return;
} var data = {
'customerCode': baseCustomerForm.findField('customerCode').getValue(),
'customerName': baseCustomerForm.findField('customerName').getValue(),
'customerLinkList': JSON.stringify(customerLinkList)
} Ext.Ajax.request({
url: hostName + '/base/isExisCustomer.do' + urlToken,
params: data,
success: function(response) {
var result = Ext.JSON.decode(response.responseText);
if (result.data.success) {
//设置保存按钮点击一次
Ext.getCmp('addBaseCustomerButton').setDisabled(true);
Ext.Ajax.request({
url: hostName + '/base/addCustomer' + urlToken,
params: data,
success: function(response) {
var result = Ext.JSON.decode(response.responseText);
if (result.success) {
Ext.getCmp('addBaseCustomerButton').setDisabled(false);
Ext.ux.Toast.msg('提示', '新增成功');
me.close();
var grid = Ext.getCmp('BaseData_BaseCustomerInfo_BaseCustomerInfoPageElementGridPanel_ID');
// 加载表格
grid.getStore().load(); } else {
Ext.getCmp('addBaseCustomerButton').setDisabled(false);
Ext.ux.Toast.msg('提示', '新增失败');
}
},
failure: function(response) {
Ext.getCmp('addBaseCustomerButton').setDisabled(false);
Ext.ux.Toast.msg('提示', response.responseText, 'error');
}
}); } else {
Ext.ux.Toast.msg('提示', result.data.msg, 'error');
}
},
failure: function(response) {
Ext.ux.Toast.msg('提示', response.responseText, 'error');
}
});
}
controller接收list
//新增客户信息
@RequestMapping(value = "base/addCustomer")
@ResponseBody
public ResultEntity addBaseCustomerEntity(String customerLinkList, String customerCode,
String customerName, HttpServletRequest request) {
BaseCustomerVo baseCustomerVo=new BaseCustomerVo();
UserLoginVo user = getUserLoginVo(request);
if (user != null) {
baseCustomerVo.setCreateUserCode(user.getUserCode());
baseCustomerVo.setCreateUserName(user.getUserName());
baseCustomerVo.setModifyUserCode(user.getUserCode());
baseCustomerVo.setModifyUserName(user.getUserName());
baseCustomerVo.setCustomerCompanyCode(user.getCompCode());
baseCustomerVo.setCustomerCompanyName(user.getCompName());
//如果是直营,客户的orgCode为null,如果是加盟,为当前登录用户的orgCode
if(user.getOrgKind()==Constant.ORG_KIND_JOIN){
baseCustomerVo.setOrgCode(user.getOrgCode());
}else{
baseCustomerVo.setOrgCode(null);
}
}
baseCustomerVo.setCustomerCode(customerCode);
baseCustomerVo.setCustomerName(customerName);
baseCustomerVo.setCustomerStatue(1);
//新增客户
baseCustomerService.addCustomerEntity(baseCustomerVo); //新增客户联系人
//json转换为list
List<BaseCustomerLinkmanEntity> linkList = new ArrayList<>();
List<BaseCustomerLinkmanEntity> linkManList = new ArrayList<>();
linkList = JSONObject.parseArray(customerLinkList, BaseCustomerLinkmanEntity.class);
for (BaseCustomerLinkmanEntity custLink:linkList) {
custLink.setCustomerCode(customerCode);
custLink.setCustomerName(customerName);
if(user!=null){
custLink.setCreateUserCode(user.getUserCode());
custLink.setCreateUserName(user.getUserName());
custLink.setCompanyCode(user.getCompCode());
} linkManList.add(custLink);
}
baseCustomerLinkmanService.updateCustomerLinkman(linkManList);
return returnSuccess();
}
前端传list,springmvc接收list的方法的更多相关文章
- js跳转到新页面传参以及接收参数的方法
1.传递参数: window.location.href = "./list.html?id="+id; 1.接收参数: (1)接收参数函数封装 function GetReque ...
- SpringMVC接收多参数的处理方法
问题:依赖SpringMVC自带的机制解析多对象参数往往出现解析不了的问题,使用较为复杂. 解决思路:前端 JS 先把传递到后台的对象转换为 JSON 字符串,后台直接使用字符串类型接收,再使用 st ...
- 利用webuploader插件上传图片文件,完整前端示例demo,服务端使用SpringMVC接收
利用WebUploader插件上传图片文件完整前端示例demo,服务端使用SpringMVC接收 Webuploader简介 WebUploader是由Baidu WebFE(FEX)团队开发的一 ...
- 让 SpringMVC 接收多个对象的4种方法
问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...
- 4种方法让SpringMVC接收多个对象(转:http://blog.csdn.net/lutinghuan/article/details/46820023)
问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...
- 4种方法让SpringMVC接收多个对象 <转>
问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...
- 4种方法让SpringMVC接收多个对象
问题背景: 我要在一个表单里同一时候一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该怎样处理? 第1种方法:表单提交,以字段数组接收: 第2 ...
- Django后端向前端直接传html语言防止转义的方法(2种)
Django后端向前端直接传html语言防止转义的方法(2种) 目的,为了让前端对后端传输的这种方式不转义 1.使用mark_safe() from django.utils.safestring i ...
- django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法
django设置并获取cookie/session,文件上传,ajax接收文件等的方法: views.py文件: from django.shortcuts import render,HttpRes ...
随机推荐
- Distance in Tree CodeForces - 161D
Distance in Tree CodeForces - 161D 题意:给一棵n个结点的树,任意两点之间的距离为1,现在有点u.v,且u与v的最短距离为k,求这样的点对(u,v)的个数((u,v) ...
- 学习JavaScript数据结构与算法 (一)
学习JavaScript数据结构与算法 的笔记, 包含一二三章 01基础 循环 斐波那契数列 var fibonaci = [1,1] for (var i = 2; i< 20;i++) { ...
- 486 Predict the Winner 预测赢家
给定一个表示分数的非负整数数组. 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,…….每次一个玩家只能拿取一个分数,分数被拿取之后不再可取.直到没有剩余分数 ...
- 在虚拟机里安装windows或Linux系统时,安装窗口过大按钮有时点不到解决办法(图文详解)
不多说,直接上干货! 问题详情 解决办法 很简单快捷的解决办法,就是快捷键ALT+F7,可以拖动窗口的位置. 成功!
- P3717 [AHOI2017初中组]cover
题目背景 以下为不影响题意的简化版题目. 题目描述 一个n*n的网格图上有m个探测器,每个探测器有个探测半径r,问这n*n个点中有多少个点能被探测到. 输入输出格式 输入格式: 第一行3个整数n,m, ...
- AJPFX辨析Java中运算符 ++ 和 += 的区别
我们都知道Java中 ++ 和 +=1 都是把数字增加一后,把值赋给左边,那二者有什么区别呢? i+=1 运行的底层Heap申请一个区域存放i,在数据区域开劈一个区域存放1,2个内存段被数据被送入到 ...
- [转]Java中实现自定义的注解处理器
Java中实现自定义的注解处理器(Annotation Processor) 置顶2016年07月25日 19:42:49 阅读数:9877 在之前的<简单实现ButterKnife的注解功能& ...
- sybase sql anywhere 5.0 安装后sybase central中无法打开视图等的解决办法
无法打开的原因初步分析要用英文版的xp,后来在如下处发现问题,是sql anywhere的版本太旧了, 可能没有使用Unicode编码,设置一下如下选项可以解决问题.
- 数据库系统概论(2)——Chap. 2 关系数据库基础
数据库系统概论(2)--Chap.2 关系数据库基础 一.关系数据结构及形式化定义 1.关系 关系模型的数据结构只包含单一的数据结构--关系.在关系模型中,现实世界的实体及实体间的各种联系均用单一的结 ...
- SQLite – GROUP BY
SQLite - GROUP BY SQLite GROUP BY子句中使用与SELECT语句的合作安排相同的数据组. 在GROUP BY子句之前一个SELECT语句的WHERE子句,先于ORDER ...