项目中收集的小技巧

    技术2025-05-20  47

    1, 多条件查询

     

    String result=" customerId = '"+customerId+"'";

                String key1="",key2="",key3="",key4="",key5="",key6 = "";

                if(shedulePrty!=""){

                  key1="schedulePrty ='"+schedulePrty+"'";

                }

                if(beginDate!=""){

                  key2="beginDate >='"+beginDate+"'";

                }

                if(endDate!=""){

                  key3="endDate <='"+endDate+"'";

                }

                if(sheduleState!=""){

                  key4 ="scheduleState ='"+scheduleState+"'";

                }

                if(sheduleType!=""){

                    key5 ="scheduleType ='"+scheduleType+"'";  

                }

                if(sheduleContent!=""){

                  key6 ="scheduleContent like '%"+scheduleContent+"%'";

                }

                if (key1 != "" || key2 != "" || key3 != "" || key4 != ""||key5!=""||key6 !="" ){

                  result =" customerId = '"+customerId+"' and ";

                  if(key1!="")

                  result+=""+key1+"";

                  if(key1!=""&&key2!=""){

                     result+=" and "+key2+"";

                  }else {

                     result+=""+key2+"";

                  }

                  if ((key1 != "" || key2 != "") && key3 != ""){

                     result +=" and "+key3+"";

                  }else {

                     result +=""+key3+"";

                  }

                  if((key1 != "" || key2 != ""||key3!="") && key4 != ""){

                     result +=" and "+key4+"";

                  }else{

                     result +=""+key4+"";

                  }

                  if((key1 != "" || key2 != ""||key3!=""||key4!="") && key5 != ""){

                     result +=" and "+key5+"";

                  }else{

                     result +=""+key5+"";

                  }

                 //如果还有多个条件可以继续往后面累加

                  if((key1 != "" || key2 != ""||key3!=""||key4!=""||key5!="") && key6 != ""){

                     result +=" and "+key6+"";

                  }else{

                     result +=""+ key6+"";

                  }

     

                }

     

    2, checkbox 赋值

    jsp 中先得到checkbox 相应的值:

    <%

    String prty = s.getShedulePrty();

    %>

    然后在checkbox中加上<%= prty.contentEquals("")?"checked" : ""%>

    <input type="checkbox" name="shedulePrty" onclick="ChangeSelectPrty(this);" <%= prty.contentEquals("")?"checked" : ""%> value=""/>

     

    3, js控制多个checkbox的单选

     

    function ChangeSelect (obj) {

               if (obj.checked == true) {

               var text = document.getElementsByName("textname");

               for (var i = 0; i < text.length; i++) {

                      text[i].checked = false;

               }

                  obj.checked = true;

               }

          }

     

    4,多表插入的时候,比如,插入到表1,然后马上获取刚插入的那条数据时要在插入到表1时的sql语句后面加上select scope_identity()

     

    http://www.javaeye.com/topic/320633(Ext项目小结)

     

     

     

     

     

    5, div 分栏自适应高度

    核心:margin-bottom:-3000px; padding-bottom:3000px 象素不是固定的

    <style>

    #content{overflow:hidden;}

    .left{width:200px; margin-bottom:-3000px; padding-bottom:3000px; background:#cad5eb; float:left;}

    .right{width:400px; margin-bottom:-3000px; padding-bottom:3000px; background:#f0f3f9; float:right;}

    .center{margin:0 410px 0 210px; background:#ffe6b8; height:600px;}

    </style>

    <div id=content>

        <div class=left>左边,无高度属性,自适应于最高一栏的高度</div>

        <div class=right>右边,无高度属性,自适应于最高一栏的高度</div>

        <div class=center>中间,高度600像素,左右两栏的高度与之自适应</div>

    </div>

     

     

    6. iframe自适应高度和浏览器宽度

    iframe自适应浏览器宽度

    将以下代码保存到:bottom.js

    parent.document.all("框架ID").style.height=document.body.scrollHeight;        parent.document.all("框架ID").style.width=document.body.scrollWidth;

          然后给你网站里所有的被包含文件里面每个都加入         <script language = "JavaScript" src = "bottom.js"/></script>                       //结束

           今天做车型大全页面,发现其中有一个加载品牌大全的iframe,在切换不同分类时,里面的内容宽高不一致,出现了滚动条,在网上搜集下面的函数,解决问题如下:

           iframe,尤其是不带边框的iframe因为能和网页无缝的结合从而不刷新页面的情况下更新页面的部分数据成为可能,可是iframe的大小却不像层那样可以伸缩自如,所以带来了使用上的麻烦,给iframe设置高度的时候多了也不好,少了更是不行,现在,让我来告诉大家一种iframe动态调整高度的方法,主要是以下JS函数:程序代码function SetWinHeight(obj){var win=obj;if (document.getElementById){   if (win && !window.opera)   {    if (win.contentDocument && win.contentDocument.body.offsetHeight)

         win.height = win.contentDocument.body.offsetHeight;     else if(win.Document && win.Document.body.scrollHeight)     win.height = win.Document.body.scrollHeight;   }}}最后,加入iframe,不能丢掉onload属性,当然了,id也必须也函数中的win匹配程序代码<iframe  src="品牌页面" width="778" align="center" height="200" id="win" name="win" οnlοad="Javascript:SetWinHeight(this)" frameborder="0" scrolling="no"></iframe>

    另一种情况的iframe解决方案(超简单)重要提示:src=中你必须填写的网页地址,一定要和本页面在同一个站点上,否则,会抱错,说拒绝访问!”(实际上这是因为Js的跨域问题导致拒绝访问的) 之前自己也碰到过这个问题,为了得到答案去网上搜索,发现有不少人也遇到了这样的问题,现在就把解决方法共享一下

    1、建立一个bottom.js的文件,然后输入下面的代码(只有两行哦) parent.document.all("框架ID").style.height=document.body.scrollHeight; parent.document.all("框架ID").style.width=document.body.scrollWidth; 这里的 框架ID 就是IframeID,比如: IFRAME id="框架ID" name="left" frameBorder=0 scrolling=no src="XXX.asp" width="100%"></IFRAME

    2、给你网站里所有的被包含文件里面每个都加入 script language = "JavaScript" src = "bottom.js"/></script 3OK,收工! WINXPIE6下面测试通过。很简单吧!

    实现 iframe 的自适应高度实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象。程序代码<script type="text/javascript">//** iframe自动适应页面 **//

    //输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframeID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。

    //定义iframeIDvar iframeids=["test"]

    //如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏var iframehide="yes"

    function dyniframesize() {var dyniframe=new Array()for (i=0; i<iframeids.length; i++){if (document.getElementById) {//自动调整iframe高度dyniframe[dyniframe.length] = document.getElementById(iframeids);if (dyniframe && !window.opera){dyniframe.style.display="block"if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //如果用户的浏览器是NetScapedyniframe.height = dyniframe.contentDocument.body.offsetHeight; else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //如果用户的浏览器是IEdyniframe.height = dyniframe.Document.body.scrollHeight;}}//根据设定的参数来处理不支持iframe的浏览器的显示问题if ((document.all || document.getElementById) && iframehide=="no"){var tempobj=document.all? document.all[iframeids] : document.getElementById(iframeids)tempobj.style.display="block"}}}

    if (window.addEventListener)window.addEventListener("load", dyniframesize, false)else if (window.attachEvent)window.attachEvent("onload", dyniframesize)elsewindow.οnlοad=dyniframesize</script>

     

     

    7 ,获取网页客服端的ip地址

            需要在工程中导入:handsome-ipaddress-bin.jar包,一个ip数据库

            java代码:

           

             //获取客服端的IP地址        public String getIpAddr(HttpServletRequest request) {                  String ip = request.getHeader("x-forwarded-for");                  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {                      ip = request.getHeader("Proxy-Client-IP");                  }                  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {                     ip = request.getHeader("WL-Proxy-Client-IP");                  }                  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {                      ip = request.getRemoteAddr();                  }                     return ip;          }

     

     

                  String addressID = sp.getIpAddr(request);               IPSeeker ip=new IPSeeker("QQWry.Dat","D://qq123");               //获得地区               String address = ip.getIPLocation(addressID).getCountry();             //获得类型              //System.out.println(ip.getIPLocation("58.20.43.13").getCountry());

     

      8 , ajax 异步处理

       function ajaxFunction(id) {

    var xmlHttp;

    try     {    // Firefox, Opera 8.0+, Safari     xmlHttp=new XMLHttpRequest();     } catch (e)     {

      // Internet Explorer    try       {       xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");       }    catch (e)       {

          try          {          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");          }       catch (e)          {          alert("您的浏览器不支持AJAX!");          return false;          }       }     }         url="../getDoctorById4Ajax?id="+id+"&flag=1" ;

        xmlHttp.open("get",url,false);     xmlHttp.onreadystatechange=function()     {       if(xmlHttp.readyState==4) {          if(xmlHttp.status==200){            var response = xmlHttp.responseText;

               var o = eval("(" + response + ")");

               document .getElementById ("name").innerHTML =o.name;                    }       }     xmlHttp.send(); }

       String  json = "{title:'title',name:'name',sex:'+sex+'}";

       通过json和eval可以返回多个值。

      处理错误:字符常量未结束

      if (intor.indexOf("/r/n") >= 0 ){          intor = intor.replace("/r/n", "//r//n");    }

    最新回复(0)