jsp页面传递对象数组到后台的需求

JSP:

 //保存
$("#submitBtn").click(function(){
var flag = true;
var eachflag = true;
var len = $(".restTable tbody").find("tr").length;
var arr = new Array();
if(len != 0){
var trindex = 0;
$(".financialTable tbody tr").each(function(){
if(!eachflag){
return;
}
trindex++;
var chargeuser = new Object();
if($(this).find(".name").val().trim()==''){
layer.tips("请填写主要负责人姓名", $(".financialTable #tr_"+trindex+" .name"),{time:1000});
flag = false;
eachflag = false;
return ;
}else{
chargeuser.join_user = $(this).find(".name").val().trim();
}
if($.trim($(this).find(".sex").val())==''){
layer.tips("请选择主要负责人性别!", $(".financialTable #tr_"+trindex+" .sex"),{time:1000});
flag = false;
eachflag = false;
return;
}else{
chargeuser.sex = $(this).find(".sex").val()=="男"?0:1;
}
if($.trim($(this).find(".phone").val())==''){
layer.tips("请填写主要负责人电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
flag = false;
eachflag = false;
return;
}else{
if(! (/^1[3|4|5|7|8|9][0-9]\d{8}$/.test($(this).find(".phone").val().trim()))){
layer.tips("请输入正确的电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
flag = false;
eachflag = false;
return;
}else{
chargeuser.phone = $(this).find(".phone").val().trim();
}
}
//身份证非必输项
if($(this).find(".card").val().trim() !=''){
var reg = /(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (!reg.test($(this).find(".card").val().trim())) {
layer.tips("请输入正确的身份证号码", $(".financialTable #tr_"+trindex+" .card"),{time:1000});
flag = false;
eachflag = false;
return;
}
} var id_card;
if($(this).find(".card").val().trim() == ''){
chargeuser.id_card = id_card;
}else{
chargeuser.id_card = $(this).find(".card").val().trim();
}
var postal_address;
if($(this).find(".address").val().trim() == ''){
chargeuser.postal_address = postal_address;
}else{
chargeuser.postal_address = $(this).find(".address").val().trim();
}
//chargeuser.memo = $(this).find(".memo").val().trim();
var memo;
if($(this).find(".memo").val().trim() == ''){
chargeuser.memo = memo;
}else{
chargeuser.memo = $(this).find(".memo").val().trim();
}
chargeuser.pk_project_vendor = pk;
arr.push(chargeuser)
})
}
if(!flag){
return;
}
$.ajax({
url:"${ctp}/basic_project/vendor/chargeuser.json",
type:"post",
dataType:"json",
data:{'arr':JSON.stringify(arr),
'pk_project_vendor':pk,
'uuid':uuid,
'pkold':pkold
},
async:false,
traditional: true,
success:function(result){
if(result.success){
layer.msg(result.msg, {time : 1000}, function() {
top.layer.close(layerIndex);
});
}else{
layer.alert(result.msg,{shift:2,closeBtn:false},function() {
top.layer.close(layerIndex);
});
}
flag = true;
eachflag = true;
}
})
})

jsp页面关键有三处:

1、定义一个数组:var arr = new Array();

2、定义一个对象,并迭代添加对象属性,最后push进数组

var chargeuser = new Object();

chargeuser.join_user = $(".financialTable .name").val();

chargeuser.sex = $(".financialTable .sex").val()=="男"?0:1;//数据库存的是int类型

chargeuser.phone = $(".financialTable .phone").val();

chargeuser.id_card = $(".financialTable .card").val();
chargeuser.postal_address = $(".financialTable .address").val();
chargeuser.memo = $(".financialTable .memo").val();
arr.push(chargeuser);

3、提交时转换数组对象:data:{'arr':JSON.stringify(arr)},

后台java接收:

jsp传Array数组到后台的更多相关文章

  1. angularJS前台传list数组,后台springMVC接收数组

    有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理 1. 前台代码 $scope.saveScore = function () { $scope.userSc ...

  2. JavaScript引用类型之Array数组的toString()和valueof()方法的区别

    一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...

  3. JS AJAX传递List数组到后台(对象)

    今天在写代码的时候,碰到的问题,百度了一下,发现原来AJAX传递List数据是可以的,之前还一直用JSON序列化(new Array()数组设置)进行传值的. var _list = {}; //等价 ...

  4. java前台传参json,后台用map或者实体对象接收

    (一)前台传js对象,里面包含数组,后台用map接收 (1)第一种情况:数组里不包含js对象 var param ={}: param.id=id; param.name=name; var scor ...

  5. JavaScript的json和Array及Array数组的使用方法

    1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...

  6. Struts2之提交对象数组至后台

    struts2中有许多很好的特性,比如在设置好getter和setter方法后,加上前端的匹配设置,后台即可自动将前端输入的数据转换为后台的相应的对象. 如现在传入一个Person类的对象,其中Per ...

  7. 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量

    多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...

  8. jsp传到java的control层的方法

    jsp传到java的control层的方法1.form表单 用<input type="submit">提交,提交到后台的参数在form表单内<form meth ...

  9. JavaScript进阶(十)Array 数组详解

    JS array 数组详解 数组的声明方法 arrayObj = new Array(); 的数组 ,并且第一位是5 数组的运算(传地址) var t2=new Array(); t2[0]=1; t ...

随机推荐

  1. [原]Chef_Server and Chef_WorkStation and Chef_Client Install Guide[by haibo]

    一.Prerequisite OS  :  CentOS-7.0-1406-x86_64-DVD.iso Time Server :   NTP Server SERVER NAME IP PLAN ...

  2. 【CF542D】Superhero's Job 暴力

    [CF542D]Superhero's Job 题意:$ f(x)=\sum\limits_{d|x,gcd(d,{x\over d})=1} d$ 给出 $A$ ,求方程 $f(x)=A$ 的正整数 ...

  3. Ubuntu系统安装nginx

    1.首先查看linux系统 cat /proc/version Linux version 4.9.59-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (cr ...

  4. 腾讯地图key秘钥

     腾讯地图key:5WNBZ-2JYR6-SPUSL-M3WGH-U4KDT-K2FYV 

  5. CF886C Petya and Catacombs

    题目描述 A very brave explorer Petya once decided to explore Paris catacombs. Since Petya is not really ...

  6. PHP(Dom操作的一些基础)

    重点!! //DOM操作: // 核心思想:找到元素 操作元素// js找元素 会返回元素对象:// document.getElementById("dd");唯一确定// 返回 ...

  7. 用ASPOSE.Cells将HTML表格存为Excel

    前端生成的html表格经常需要导出到excel中,利用JS和Office控件可以做到,但仅限于IE,还要启用安全设置. 想找一个简单的办法将HTML内容直接转换成Excel文件,如果直接修改网页头信息 ...

  8. myEclipse导入现成项目出现错误 【申明来源于网络】

    myEclipse导入现成项目出现错误 [申明来源于网络] 原地址:http://blog.sina.com.cn/s/blog_6d7703400100znh6.html file–>impo ...

  9. 【立体几何】分类讨论很细节 Gym - 101967I Путешествие по тору

    http://codeforces.com/gym/101967/attachments 题意:定义了一个甜甜圈.(torus) 不是让你二重积分啦233 现在有一个星球是甜甜圈形状的,它有四条很关键 ...

  10. findStr

    目录 规则 目录结构 src/main.cpp src/findstr.cpp include/findstr.h ft/TestCase.cpp ft/makefile ftbuild.sh mai ...