实体类配置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);
                }         
            }

posted on 2015-01-21 08:57  静以修身!  阅读(408)  评论(0编辑  收藏  举报

导航