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);
                    }         
                }

  • 相关阅读:
    如何将本地项目发布到gitee?
    spingboot使用redis连接池报错
    swagger2中UI界面接口点击无法展开问题解决
    idea在Mybatis的xml里面写sql时,表名、字段、报红问题的解决方法
    svn如何创建分支
    Java 反射修改类的常量值、静态变量值、属性值
    Vue简单入门
    Ajax原理简说
    《机器学习Python实现_10_15_集成学习_lightgbm_进一步优化》
    《机器学习Python实现_10_14_集成学习_xgboost_优化介绍》
  • 原文地址:https://www.cnblogs.com/lengzhijun/p/4237939.html
Copyright © 2011-2022 走看看