zoukankan      html  css  js  c++  java
  • jsp页面 ajax提交数组 到struts2的action

    最近工作用到提交表格中的数据到action(没有表单)。经过几番尝试之后确定可以用下面方法将jsp页面的js数组提交到action

    function submits(){
            var mainTable=document.getElementById("mainTable");
            var trs= mainTable.rows;
            var tr=null;
            var data=new Array();
            var flag=false;
            for(var i=1;i<trs.length;i+=2){
                tr=trs[i].cells;
                var d=new Array();
                for(var j=0;j<tr.length;j+=2){
                    if(tr[j].style.backgroundColor=="rgb(255, 255, 119)"){
                        if(!flag){
                            //行坐标(人员)
                            d.push(((i-1)/2));
                            //列坐标(房间)
                            d.push((j/2));
                            //数值(N/Y)
                            d.push(tr[j].innerHTML);
                            flag=true;
                        }else{
                            //列坐标(房间)
                            d.push((j/2));
                            //数值(N/Y)
                            d.push(tr[j].innerHTML);
                        }
                    }
                }
                if(d.length>0){
                    data.push(d);
                }
                flag=false;
            }
          //序列化数据 var params
    =$.param({'datas':data},true); $.ajax({ type:"POST", url:"accessControl_updateAccessControl.htm", data:params, dataType:'json', success:function(msg){ alert(msg); } }); }
    $.param({'datas':data},true);这个方法很重要   提交前需要序列化
    然后接下来就按照Struts2的特性 在action中写好属性 写好getter setter方法

        private List<Object[]> datas;
        
        public List<Object[]> getDatas() {
            return datas;
        }
        public void setDatas(List<Object[]> datas) {
            this.datas = datas;
        }

    之后就可以直接在ajax提交的url的方法中直接得到数据很方便

    //修改门禁信息表
        public String updateAccessControl() {
    //        System.out.println("过来了");
            List<EmployeeInfo> list=accessControlService.findAllDoorCheckDto();
            List<Room> roomList=accessControlService.findAllRoom();//当前数据库所有房间信息
            int pIndex=0;
            EmployeeInfo emp=null;
            int rIndex=0;
            String rStatus=null;
            Room room=null;
            for(Object[] data:datas){//遍历提交上来的每行数据
                System.out.println(Arrays.toString(data));
                if(data.length>0){
                    pIndex=(Integer) data[0];
                    emp=list.get(pIndex);
                    for(int i=1;i<data.length;i+=2){
                        rIndex=(Integer) data[i];
                        room=roomList.get(rIndex);
                        rStatus=(String) data[i+1];
                    }
                }
                
            }
            
            return NONE;
        }
  • 相关阅读:
    Spring Web Flow 2.0 入门详解
    Hadoop单机部署方法
    hadoop单机版搭建图文详解
    MapReduce算法设计Think in Hadoop
    开发 Spring 自定义视图和视图解析器
    HashMap的实现原理
    MapReduce算法模式
    LinkedHashMap的实现原理
    hadoop 2.0 详细配置教程
    电子商务网站之购买欲望和购买目标
  • 原文地址:https://www.cnblogs.com/zhixw/p/6772826.html
Copyright © 2011-2022 走看看