zoukankan      html  css  js  c++  java
  • 实体类配置xml相关属性排序问题、json前后台交互

    1、实体类配置一对多(list方式、关联属性可以动态排序)

     <bag name="tformfieldSet" lazy="false">
               <key>
                    <column name="T_FORM_ID" precision="22" scale="0" />
               </key>
               <one-to-many class="com.gdpe.ws.manage.pojo.table.Tformfield" />
       </bag>

    2、实体继承Comparable类可以根据需要对自身list内对象进行排序

    重写public int compareTo(Object o) {
            // 实现Comparator接口的方法
            Tformfield t = (Tformfield) o;
            String s1 = this.getKey();//
            String s2 = t.getKey();//
            return s1.compareTo(s2);// 比较两个字符串的大小
        }

       Collections.sort(tSet); 

    3、前台出入json字符串,后台转为json对象,并取出key和value

    前台:<script type="text/javascript">
     (function($){
            $.fn.serializeJson=function(){
                var serializeObj={};
                var array=this.serializeArray();
                $(array).each(function(){
                    if(serializeObj[this.name]){
                        if($.isArray(serializeObj[this.name])){
                            serializeObj[this.name].push(this.value);
                        }else{
                            serializeObj[this.name]=[serializeObj[this.name],this.value];
                        }
                    }else{
                        serializeObj[this.name]=this.value;
                    }
                });
                return serializeObj;
            };
        })(jQuery);
            //提交表单
            $("#btn").click(function() {
                     //var jsonuserinfo ={'tnameId':22,'name':'jim' , 'tel':20};  
                     var jsonuserinfo =$("#myForm").serializeJson();
                     alert(jsonuserinfo);
                     jsonuserinfo = JSON.stringify(jsonuserinfo);
                     alert(JSON.stringify(jsonuserinfo));                
                     $.ajax({
                     type:"POST",
                     dataType:"JSON",
                     url:"<%=request.getContextPath()%>/formAction_addTformfield.action",
                     data:{'str':jsonuserinfo},
                     success:function (data){
                    if(data == 1){                                 
                       alert("保存成功");
                    }else{
                       alert("保存失败");
                    }
                   }
               });            
            });
    </script>   

    后台: String jsonStr = request.getParameter("str");        
             JSONObject jsonJ = JSONObject.fromObject(jsonStr);
             String tnameId=jsonJ.getString("tnameId");
             Tname tn=tnameService.findTnameById("com.gdpe.ws.manage.pojo.table.Tname", Long.parseLong(tnameId));    
            //插入中间表
             Tform tf=new Tform();
             tf.setTname(tn);
             tformService.add(tf);    
             Iterator itkey=jsonJ.keys();
             while (itkey.hasNext()) {            
                    String key = itkey.next().toString();  
                    String value = jsonJ.getString(key);    
                    if(!key.equals("tnameId")){
                         Tformfield tfd=new Tformfield();
                         tfd.setKey(key);
                         tfd.setValue(value);
                         tfd.setTform(tf);
                         tformfieldService.add(tfd);
                    }         
                }

  • 相关阅读:
    Avizo
    NEWS
    HOWTO
    InstallShield 2012 Spring优惠升级到最新版本(2015.4.30之前)
    Windows系统补丁KB2962872导致InstallShield无法启动(解决方案已更新)
    HOWTO: InstallScript MSI工程取Log
    安装软件列表
    阿里云推荐码 hut29f
    ios 缺少合规证明
    ios开发错误之: Undefined symbols for architecture x86_64
  • 原文地址:https://www.cnblogs.com/lengzhijun/p/4237939.html
Copyright © 2011-2022 走看看