• jsp传Array数组到后台


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

    JSP:

      1 //保存
      2     $("#submitBtn").click(function(){
      3         var flag = true;
      4         var eachflag = true;
      5           var len = $(".restTable tbody").find("tr").length;
      6         var arr = new Array();
      7          if(len != 0){
      8              var trindex = 0;
      9              $(".financialTable tbody tr").each(function(){
     10                  if(!eachflag){
     11                      return;
     12                  }
     13                  trindex++;
     14                  var chargeuser = new Object();
     15                  if($(this).find(".name").val().trim()==''){
     16                       layer.tips("请填写主要负责人姓名", $(".financialTable #tr_"+trindex+" .name"),{time:1000});
     17                       flag = false;
     18                       eachflag = false;
     19                         return ;
     20                   }else{
     21                       chargeuser.join_user = $(this).find(".name").val().trim();
     22                   }
     23                   if($.trim($(this).find(".sex").val())==''){
     24                       layer.tips("请选择主要负责人性别!", $(".financialTable #tr_"+trindex+" .sex"),{time:1000});
     25                       flag = false;
     26                       eachflag = false;
     27                       return;
     28                   }else{
     29                       chargeuser.sex = $(this).find(".sex").val()=="男"?0:1;
     30                   }
     31                   if($.trim($(this).find(".phone").val())==''){
     32                       layer.tips("请填写主要负责人电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
     33                       flag = false;
     34                       eachflag = false;
     35                       return;
     36                   }else{
     37                       if(! (/^1[3|4|5|7|8|9][0-9]d{8}$/.test($(this).find(".phone").val().trim()))){
     38                           layer.tips("请输入正确的电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
     39                           flag = false;
     40                           eachflag = false;
     41                           return;
     42                       }else{
     43                           chargeuser.phone = $(this).find(".phone").val().trim();
     44                       }
     45                   }
     46                   //身份证非必输项
     47                   if($(this).find(".card").val().trim() !=''){
     48                       var reg = /(^d{18}$)|(^d{17}(d|X|x)$)/;
     49                       if (!reg.test($(this).find(".card").val().trim())) {
     50                           layer.tips("请输入正确的身份证号码", $(".financialTable #tr_"+trindex+" .card"),{time:1000});
     51                           flag = false;
     52                           eachflag = false;
     53                           return;
     54                         }
     55                   }
     56                   
     57                   var id_card;
     58                   if($(this).find(".card").val().trim() == ''){
     59                       chargeuser.id_card = id_card;
     60                   }else{
     61                       chargeuser.id_card = $(this).find(".card").val().trim();
     62                   }
     63                   var postal_address;
     64                   if($(this).find(".address").val().trim() == ''){
     65                       chargeuser.postal_address = postal_address;
     66                   }else{
     67                       chargeuser.postal_address = $(this).find(".address").val().trim();
     68                   }
     69                   //chargeuser.memo = $(this).find(".memo").val().trim();
     70                   var memo;
     71                   if($(this).find(".memo").val().trim() == ''){
     72                       chargeuser.memo = memo;
     73                   }else{
     74                       chargeuser.memo = $(this).find(".memo").val().trim();
     75                   }
     76                   chargeuser.pk_project_vendor = pk;
     77                   arr.push(chargeuser)
     78                  }) 
     79          }
     80          if(!flag){
     81              return;
     82          }
     83          $.ajax({
     84                 url:"${ctp}/basic_project/vendor/chargeuser.json",
     85                 type:"post",
     86                 dataType:"json",
     87                 data:{'arr':JSON.stringify(arr),
     88                     'pk_project_vendor':pk,
     89                     'uuid':uuid,
     90                     'pkold':pkold
     91                     },
     92                 async:false,
     93                 traditional: true,
     94                 success:function(result){
     95                         if(result.success){
     96                             layer.msg(result.msg, {time : 1000}, function() {
     97                                 top.layer.close(layerIndex);
     98                             });
     99                         }else{
    100                             layer.alert(result.msg,{shift:2,closeBtn:false},function() {
    101                                 top.layer.close(layerIndex);
    102                             });
    103                         }
    104                         flag = true;
    105                         eachflag = true;
    106                     }
    107                 })
    108     })

    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接收:

    作者:howtosay
             
    放牛娃的个人笔记整理,每天记录一点点,进步一点点
  • 相关阅读:
    Hibernate关联映射
    mysql 外键约束
    巩固JavaSE基础--IDEA完成实战项目
    PHP--选择排序
    PHP--冒泡排序
    vscode调试单个PHP脚本文件
    Vscode下调试基于Homestead环境的Laravel框架
    Python Web开发
    Python之UDP编程
    Python之TCP编程
  • 原文地址:https://www.cnblogs.com/hongzm/p/7725320.html
Copyright © 2020-2023  润新知