Javabean反射入门(数据库中一个表的字段用来名称,另一个表用来存储名称对应的值)

来源:互联网 发布:人工智能 场景 编辑:程序博客网 时间:2024/05/29 09:21

1.<s:radio id="radio"/>这个不能直接使用document.getElementById("radio");

    这时使用:        

                        var iscontain="";                        var obj=document.getElementsByName("radio");                       for(var i=0;i<obj.length;i++){                              if(obj[i].checked==true){                                         iscontain=obj[i].value;                               }                        }


2.<s:select id="select"/>这个标签通常会用到ajax实现联动效果,如下:

function getliandongshebeiname(xiangmubuusergroupid){                var jiancezhongxinid=$("#jiancezhongxinid").val();                var zigongsiid=$("#zigongsiid").val();                var zhihuibuid=$("#zhihuibuid").val();                var iscontain="";                var obj=document.getElementsByName("iscontain");                for(var i=0;i<obj.length;i++){                    if(obj[i].checked==true){                     iscontain=obj[i].value;                    }                }                $.ajax({                    url:"getliandongshebeiname",                    type:"post",                    data:{iscontain:iscontain,jiancezhongxinid:jiancezhongxinid,zigongsiid:zigongsiid,zhihuibuid:zhihuibuid,xiangmubuusergroupid:xiangmubuusergroupid},                    dataType:"json",                    success:function(data){                        if(data.info=="success"){                            var ops = data.outstr.split("|");                            var obj = document.getElementById("shebeiname");                            alert("success :"+obj.options.length);                            while(obj.options.length>1) {obj.options[1] = null;};                                                        for (var i = 0; i < ops.length-1; i++) {                                var op = ops[i];                                var ss = op.split(",");                                var oOption =  new Option(ss[1], ss[0]);                                obj.options.add(oOption);    //将节点加入选项中                            }                                                                        }else if(data.info=="error"){                            var obj = document.getElementById("shebeiname");                            alert(" error :"+obj.options.length);                            while(obj.options.length>1) {obj.options[1] = null;};                        }                    }                });            }


     备注:while(obj.options.length>1) {obj.options[1] = null;};  ----在用户下次改变时,清空下拉列表的值

3.在大型项目中,用户保存数据会出现数据乱存储的情况。(比如在工地上,该字段是水,应该存储水的值,结果存储的其他值。)

   解决方法:

HntbhzziduancfgView hbfield = queryService.gethntcfgfield(shebeibianhao);                                String [] ArrStr={"feimeihui4","fenliao5","fenliao6","guliao5","kuangfen3","sha1","sha2","shi1","shi2","shui1","shui2","shuini1","shuini2","waijiaji1","waijiaji2","waijiaji3","waijiaji4"};                                List<String> sha_shijilist=new ArrayList<String>();                                List<String> sha_lilunlist=new ArrayList<String>();                                List<String> sjshalist=new ArrayList<String>();                                List<String> shui_shijilist=new ArrayList<String>();                                List<String> shui_lilunlist=new ArrayList<String>();                                List<String> shuini_shijilist=new ArrayList<String>();                                List<String> shuini_lilunlist=new ArrayList<String>();                                List<String> fenmeihui_shijilist=new ArrayList<String>();                                List<String> fenmeihui_lilunlist=new ArrayList<String>();                                for(int i=0;i<ArrStr.length;i++){                                    try{                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("砂")>-1){                                            sha_shijilist.add(ArrStr[i]);                                            sjshalist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("砂")>-1){                                            sha_lilunlist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水")>-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("泥")==-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("减")==-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("剂")==-1){                                            shui_shijilist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水")>-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("泥")==-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("减")==-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("剂")==-1){                                            shui_lilunlist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水泥")>-1){                                            shuini_shijilist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水泥")>-1){                                            shuini_lilunlist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("煤")>-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("灰")>-1){                                            fenmeihui_shijilist.add(ArrStr[i]);                                        }                                        if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("煤")>-1 &&                                                ((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("灰")>-1){                                            fenmeihui_lilunlist.add(ArrStr[i]);                                        }                                    }catch(Exception ex){                                        logger.info(ex);                                    }                                }


备注:hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{}),这个代码的意义在:如果得到对象hbfield.getShui_shijizhi(),


原创粉丝点击