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. 解题报告:poj 3259 Wormholes(入门spfa判断负环)

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  2. Git命令---递归克隆

    git clone --recursive https://github.com/rbgirshick/fast-rcnn.git Git命令 --recursive 会递归克隆fast-rcnn项目 ...

  3. solr 常见异常

    solr4.3本地数据提交异常分析 (2013-06-19 16:03:15) 转载▼   异常一. Exception in thread "main" java.lang.No ...

  4. java中stringBuilder的用法

    java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需 ...

  5. mysql索引命中规则

    转于:https://blog.csdn.net/claram/article/details/77574600 首先明确:为什么要用联合索引? 对于查询语句“SELECT E.* FROM E WH ...

  6. Maximal Discount

    Description: Linda is a shopaholic. Whenever there is a discount of the kind where you can buy three ...

  7. COGS 1406. 邻居年龄排序[Age Sort,UVa 11462](水题日常)

    ★   输入文件:AgeSort.in   输出文件:AgeSort.out   简单对比时间限制:1 s   内存限制:2 MB [题目描述] Mr.Zero(CH)喜闻乐见地得到了一台内存大大增强 ...

  8. Android Studio -自定义LogCat的颜色

    博文地址 http://www.cnblogs.com/Loonger/p/6285344.html 先看看效果 (设置中的显示,下图) 步骤如下 File->Settings 或Ctrl + ...

  9. Qt中常用的类

    QApplication 应用程序类                管理图形用户界面应用程序的控制流和主要设置 QLabel 标签类                                提供 ...

  10. 为什么我的 app:actionViewClass="android.widget.SearchView"和app:showAsAction="ifRoom|collapseActionView"才有

    http://blog.csdn.net/cdnight/article/details/48029911 <item android:id="@+id/action_search&q ...