项目中收集的小技巧

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

3
OK,收工!

WINXPIE6下面测试通过。很简单吧!

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

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

//定义iframeID
var 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) //
如果用户的浏览器是NetScape
dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //
如果用户的浏览器是
IE
dyniframe.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)
else
window.ο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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值