2013.9月杂谈

每天都会遇到很多有意思的技术点 如果单独开贴的话也写不了几句话。。。所以开个杂谈 记录点滴吧。。

1)如何在jsp页面中获得访问到工程的绝对路径

<% 
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
 <body>
  <base href="<%=basePath%>"></base><!--保证整个jsp的路径都是从工程开始  -->
 </body>
</html

 2)如何在action中获得工程在硬盘上的路径

           服务器上TOMCAT里工程所在的路径

 

ServletActionContext.getServletContext().getRealPath("a");//这个方法会在路径上补加个/a

 9.22

3)注意double在计算中的精度问题

     比如要取得10.03*100 后的整数 有可能得到的就是1002.99999999

	double l =  10.03;
        System.out.println(10.03*100);//输出的结果是1002.9999999999999

 这样取整之后就是少1

9.26

4)[2013-09-26 10:36:56  WARN ]No configuration found for the specified action: 'lee/lee_up' in namespace: '/lee'. Form action defaulting to 'action' attribute's literal value.

项目跳转到某一页面之后 就会提示这个错误

经过研究发现是由于struts.xml 和 页面中form传值的 namespace有冲突 页面的中form采用的是S标签

将namespace统一之后 提示就没有了 代码如下

struts.xml

 

  <package name="lee" namespace="/lee" extends="struts-default">

页面中

 

<s:form action="lee/lee_up"  method="post" enctype="multipart/form-data">
异常

<s:form action="lee_up"  method="post" enctype="multipart/form-data"  namespace="/lee">
正常

 5)合并table单元格 修改  input长度

<td colspan=3>横向合并 rowspan竖向
<input type="text"  style="width:99%" name="highTech.enName"  />

 6)通过javascript获得日期

1.<SCRIPT LANGUAGE="JavaScript">
    var myDate = new Date();
    myDate.getYear();       //获取当前年份(2位)
    myDate.getFullYear();   //获取完整的年份(4位,1970-????)
    myDate.getMonth();      //获取当前月份(0-11,0代表1月)
    myDate.getDate();       //获取当前日(1-31)
    myDate.getDay();        //获取当前星期X(0-6,0代表星期天)
    myDate.getTime();       //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours();      //获取当前小时数(0-23)
    myDate.getMinutes();    //获取当前分钟数(0-59)
    myDate.getSeconds();    //获取当前秒数(0-59)
    myDate.getMilliseconds();   //获取当前毫秒数(0-999)
    myDate.toLocaleDateString();    //获取当前日期
    var mytime=myDate.toLocaleTimeString();    //获取当前时间
    myDate.toLocaleString( );       //获取日期与时间
</SCRIPT>

 7)document.getElementById("year");获取到的值总是null

 

<script type="text/javascript" >
    document.getElementById("year1");		
</script>
//这样在页面初始化之前取DOM,取到的值一定是null
//修改方法
<script type="text/javascript" >
        window.onload = function(){
		alert(document.getElementById("ww"));
	}
</script>

 8)如何隐藏和显示div

 

function hide(){
       //隐藏
       document.getElementById("test").style.display="none";	
       //块级元素显示
       document.getElementById("test").style.display="block";
       //行级元素显示
       document.getElementById("test").style.display="inline";
}

 9)IE不识别getElementsByClassName()的解决方法

     重写改方法使其使用于各种浏览器(..感觉是各种而已方法是从网上找的)

document.getElementsByClassName = function(){
		var tTagName ="*";
		if(arguments.length > 1){
		tTagName = arguments[1];
		}
		if(arguments.length > 2){
		var pObj = arguments[2]
		}
		else{
		var pObj = document;
		}
		var objArr = pObj.getElementsByTagName(tTagName);
		var tRObj = new Array();
		for(var i=0; i<objArr.length; i++){
		if(objArr[i].className == arguments[0]){
		tRObj.push(objArr[i]);
		}
		}
		return tRObj;
		} ;

 10)function addrow() {
                var tableName = document.getElementById("mytable");
                var thChar = tableName.insertRow();

                var td1 = thChar.insertCell();
                var td2 = thChar.insertCell();
              
                td2.innerHTML="<input type='text'   name='projectEvaluation.reportType'/>";
                td1.innerHTML="<input type='text'   name='projectEvaluation.reportType' />";
            }
        
         function removenode(){
             var temp=document.getElementById("mytable");
             if(temp.rows.length>2){
                 temp.deleteRow(temp.rows.length-1);
                     document.getElementById("tike").innerHTML="";
                 }else{
                     document.getElementById("tike").innerHTML="已经是最少行数了!";
                     setTimeout(function(){
                         document.getElementById("tike").innerHTML="";
                     },1000);
                 }
             }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值