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的方法的更多相关文章

  1. js跳转到新页面传参以及接收参数的方法

    1.传递参数: window.location.href = "./list.html?id="+id; 1.接收参数: (1)接收参数函数封装 function GetReque ...

  2. SpringMVC接收多参数的处理方法

    问题:依赖SpringMVC自带的机制解析多对象参数往往出现解析不了的问题,使用较为复杂. 解决思路:前端 JS 先把传递到后台的对象转换为 JSON 字符串,后台直接使用字符串类型接收,再使用 st ...

  3. 利用webuploader插件上传图片文件,完整前端示例demo,服务端使用SpringMVC接收

    利用WebUploader插件上传图片文件完整前端示例demo,服务端使用SpringMVC接收 Webuploader简介   WebUploader是由Baidu WebFE(FEX)团队开发的一 ...

  4. 让 SpringMVC 接收多个对象的4种方法

    问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...

  5. 4种方法让SpringMVC接收多个对象(转:http://blog.csdn.net/lutinghuan/article/details/46820023)

    问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...

  6. 4种方法让SpringMVC接收多个对象 <转>

    问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...

  7. 4种方法让SpringMVC接收多个对象

    问题背景: 我要在一个表单里同一时候一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该怎样处理? 第1种方法:表单提交,以字段数组接收: 第2 ...

  8. Django后端向前端直接传html语言防止转义的方法(2种)

    Django后端向前端直接传html语言防止转义的方法(2种) 目的,为了让前端对后端传输的这种方式不转义 1.使用mark_safe() from django.utils.safestring i ...

  9. django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法

    django设置并获取cookie/session,文件上传,ajax接收文件等的方法: views.py文件: from django.shortcuts import render,HttpRes ...

随机推荐

  1. A Dangerous Maze LightOJ - 1027

    这题意真是... 题意:你在一个迷宫里,有一些门,每个门有一个参数x,如果为正表明你进入门后可以花x的时间出去,如果为负表明你进入门后可以花-x的时间回到出发的地方.每次回到出发的地方之后,不能记得之 ...

  2. Investigation LightOJ - 1068

    Investigation LightOJ - 1068 常规数位dp题,对于不同k分开记忆化.注意:k大于82(1999999999的数位和)时不会有答案,直接输出0即可.还有,按照这种记录不同k时 ...

  3. BFS Codeforces Round #297 (Div. 2) D. Arthur and Walls

    题目传送门 /* 题意:问最少替换'*'为'.',使得'.'连通的都是矩形 BFS:搜索想法很奇妙,先把'.'的入队,然后对于每个'.'八个方向寻找 在2*2的方格里,若只有一个是'*',那么它一定要 ...

  4. Reduce实现

    Reduce实现 参考 第一版 Array.prototype.fakeReduce = function (fn, base) { // this 指向原数组 // 拷贝数据, 更改指针方向 var ...

  5. 生产环境中配置的samba

    实验需求: 由于实验室纳新一帮新孩子,搭建samba主要是临时共享一些学习资源的,基本上大家用的都是windows.而且这个服务可以让他们在校园的里的个个角落都可以访问到,所以给挂了学校的公网,不过我 ...

  6. oozie.log报提示:org.apache.oozie.service.ServiceException: E0104错误 An Admin needs to install the sharelib with oozie-setup.sh and issue the 'oozie admin' CLI command to update sharelib

    不多说,直接上干货! 问题详情 关于怎么启动oozie,我这里不多赘述. Oozie的详细启动步骤(CDH版本的3节点集群) 然后,我在查看 [hadoop@bigdatamaster logs]$ ...

  7. P3374 【模板】树状数组 1 单点修改与区间查询

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...

  8. jquery命名冲突

    nodeName是jquery的关键字

  9. 联玛客(T 面试)

    我看你写的项目都是SSM架构,那我们就来聊下Spring 1.Spring的生命周期,与生命周期相关的事件? 2.阿里巴巴开发手册中的规范有哪些? 切到了异常捕捉话题 3.线程你有了解吗? 创建线程的 ...

  10. uva10366 Faucet Flow

    每次找到两边离中心最高的板,如果等,再找外围的最高版...画图便于理解两边先找到距离(-1,1)最近的最大值L和R,因为可能存在多个最高的挡板.接着比较两个L和R的大小,相等的话分别分析两边,取最小值 ...