jsp传Array数组到后台

时间:2022-09-25 19:49:19

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

JSP:

jsp传Array数组到后台jsp传Array数组到后台

 //保存
$("#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数组到后台

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进阶&lpar;十&rpar;Array 数组详解

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

随机推荐

  1. Struts2:国际化

    链接:[Java:国际化] src下有国际化资源文件:lan.propertieslan_zh_CN.properties 中文系统系统默认使用zh_CN文件,没有的话使用基本文件lan.proper ...

  2. 02-Swift初体验

    Playground是什么? 从Xcode6开始出现(Swift开始出现) 翻译为:操场/游乐场 对于学习Swift基本语法非常方便 所见即所得(快速查看结果) 语法特性发生改变时,可以快速查看. S ...

  3. &lbrack;黑科技&rsqb;bit reverse

    写FFT的时候yy出来了这个bit reverse...时间复杂度O(n),常数大概是(a[x>>1]>>1)|((x&1)<<26)的二分之一(-O3下) ...

  4. linux下安装memcache(php版本5&period;3)

    1.安装之前需要的准备:所需软件 libevent-1.4.6这个版本网上没找到,所以安装最新的版本libevent-2.0.22 libevent-1.4.6-stable.tar.gz (http ...

  5. sql创建表格 转载

    http://blog.csdn.net/wuxiaokaixinguo/article/details/8293048 检查数据库中是否存在某个表,不存在则生成该表方法一:IF NOT EXISTS ...

  6. hw-text1

    Text 1 测试题 python是什么类型的语言? 解释型语言,是脚本语言 百娘(脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语 ...

  7. Struts2 stracture

  8. WinDbg 之 SOS扩展命令

    SOS.dll (SOS debugging extension) The SOS Debugging Extension (SOS.dll) helps you debug managed prog ...

  9. Java 8 新特性-菜鸟教程 &lpar;8&rpar; -Java 8 日期时间 API

    Java 8 日期时间 API Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: ...

  10. SpringBoot返回json格式到浏览器上&comma;出现乱码问题

    在对应的Controller上的requestMapping中添加: @RestController@EnableAutoConfiguration@RequestMapping(value = &q ...