首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

此前的笔记3

2013-10-01 
以前的笔记3? ? ? ? ?? ? ? ? ? ? ? ?& ? ? ?& ??&apos ? ? ? ?" ? ? ? ?--------

以前的笔记3

?

&lt; ? ? ? < ??

&gt; ? ? ? > ? ?

&lt;&gt; ? <> ?

&amp; ? ? ?& ??

&apos; ? ? ?' ?

&quot; ? ? ?" ?

---------------------

判断页面是动态还是静态的方法:

?

ie直接输入:javascript:alert(document.lastModified)

?

谷歌:F12-->console:javascript:alert(document.lastModified)

-----------------------------------------------------------

jquery隐藏一个tr:

$("#tr_pwd").hide(); //使用方式一,如果使用了彪子的js校验,则校验不起效果,徐改为下面的方式

$("#tr_pwd").remove(); //虽然是remove,但是查看源代码任然存在,可能在内存中的dom模型中是被移除掉了,使用该方法,彪子的js校验仍然有效果

?

?

关联代码如下:

<tr id="tr_pwd">

<td ?type="password" name="password" value="" ?style="width:127px" /></td>

<td ?type="password" name="repassword" value="" ?style="width:127px" /></td>

</tr>

?

--------------------------------------------

${Request["a"]} ??

${RequestParameters["a"]} ??

${Session ["a"]} ??

${Application ["a"]} ??

${JspTaglibs ["a"]} ??

注意RequestParameters等内部对象时常不能获得所以要: ??

${RequestParameters?default({})["_errors"]?default("params")} ??

${Request["request"]?default("request")} ??

${Session["session"]?default("session")} ??

${Application["ctx"]?default("ctx")} ??

${RequestParameters?default({})?keys?size} ??

${Request?keys?first} ??

Freemarker可以直接取pageContext,requestAttribute,session,application中的数据,就是不能取requestParameter; ?

-----------------------------------------

防止页面刷新时弹出“重试”对话框的最便捷方法:

window.location.href=window.location.href;

------------------------------------------

encodeURIComponent()解决乱码的方法:

?

var url = "<%=basePath %>manage/user/delete.do?userId="+encodeURIComponent(userId);

$.get(url,function(data){

if(data=="success"){

//alert("删除成功!");

document.location.reload();

}else{

alert("删除失败!");

}

});

-----------------------------------------------------------

假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp

?

System.out.println(request.getContextPath()); 打印结果:/news?

?

System.out.println(request.getServletPath()); 打印结果:/main/list.jsp?

?

System.out.println(request.getRequestURI()); 打印结果:/news/main/list.jsp?

?

System.out.println(request.getRealPath("/")); 打印结果:F:/Tomcat 6.0/webapps/news/test

?

-------------------------------------------------------

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

?

meta标签中content属性中的charset值决定了浏览器打开页面时用哪种方式来解析,

如果是utf-8,打开时浏览器会用utf-8字符集来解析

如果是iso-8859-1,打开时浏览器会用iso字符集来解析

如果是gbk,gbk2312,打开时浏览器会用gbk2312简体中文字符集来解析(GBK>GB2312)

如果是big5,打开时浏览器会用繁体中文字符集来解析

-----------------------------------------------------

在urlrewrite.xml中配置重写的参数的时候要注意&用&amp;代替。参数后面的值用$123456---依次代替

----------------------------------------------------

xml压缩后包含一些不可见的unicode字符,如果这些字符刚好不被xml文档标准所认可,传输过程就会出错,所以最好在压缩后再转换成base64,

这样就可解决传输过程中的问题,解析时候,逆向过程即可,注意编码集合。同时如果是跨系统做这种操作的话可能不同操作系统之间会导致乱码,

因此需通过变通方式解决,通过在压缩端发送压缩过的base64字符串给接收方时,在字符串最前面加上一个标记位,告诉接收方应当用什么

编码格式来解码(一般发送为windows系统化用gbk解码,linux话用utf-8解码)。该问题是在webservice传输xml文档过大时需要压缩传输时遇到的

--------------------------------------------------

?

struts2(2.1.6版本)必备的jar包有6个

?

struts2-core-2.1.6.jar

?

freemarker-2.3.13.jar

?

commons-logging-1.0.4.jar

?

ognl-2.6.11.jar

?

xwork-2.1.2.jar

?

commons-fileupload-1.2.1.jar

?

另外,为了支持附件上传,还要添加commons-io.jar。为了支持json,要添加添加jsonplugin-0.34.jar或者jsonplugin-0.7.jar。

?

?

?

最后,附上网上查阅的其他一点知识。

?

在struts2.1.6之前的版本: ? 添加相应的json包:json-lib.jar jsonplugin.jar 这里要注意很重要的一点,因为json大量引用了Apache commons的包,所以这里要一并加入,需要的commons包共4个,除了commons的包外,还需要引入一个 ezmorph的包,所以这一步一共要引入7个包,列出如下:commons-collections.jar commons-lang.jar commons-beanutils.jar commons-logging.jar ezmorph.jar 再加上json的两个包共七个。

?

struts2.1.6,添加jsonplugin0.34或者jsonplugin0.7?

?

struts2.1.8则添加json-lib-2.2.3.jar,struts2-json-plugin,struts2-junit-plugin

---------------------------------------------------

$.ajax({

async: false,

url: "validateAtmAction!validateAtm.action",

data:"",

success: function(msg){

? ? alert( "您的ip地址: " + msg+"不是合法的终端ip!" );

},

error:function(XMLHttpRequest, textStatus, errorThrown){alert("请求失败");alert(textStatus);alert(errorThrown);}

});

?

jquery中ajax调用action的时候,方法默认返回text/html格式文档,不能按照struts2中action的方式返回字符串结果,

因此aciton中处理的方法返回结果应当是void,在方法体内直接以response方式返回文档内容(前提是返回内容dataType是html或者xml),

不然success方法中不执行,总走error方法。

?

-----------------------------------------------

Windows下修改cmd的字符集编码

根据需要输入相应的命令

chcp 437 /* 英文*/ ??

chcp 932 /* 日文*/?

chcp 936 /* 简体中文*/?

chcp 949 /* 韩文*/?

chcp 950 /* 繁体中文*/?

chcp 65001 UTF-8?

-------------------------------------------------

linux 查询命令:

find /home/ -name "pli_comm.log"

----------------------------------------------------

spring中查询list结果集的两种实现:

list = jdbcTemplateDrv.query(querySql, new RowmapperResultReader(DrvInfoFromZhkBeanMaper.class) );

list = jdbcTemplateDrv.query(querySql, new BeanPropertyRowMapper(DrvInfoFromZhkBean.class));

?

RowmapperResultReader存在于2.5之前,该方法需要一个实现了RowMapper接口的bean ? ?

BeanPropertyRowMapper存在于2.5之后,该方法则没有这么多的约束,只要内部参数里的bean与查询语句中的字段相对应即可,方便。 ? ?

--------------------------------------------------

<aop:aspectj-autoproxy />有一个proxy-target-class属性,默认为false,表示使用jdk动态代理织入增强,当配为<aop:aspectj-autoproxy ?poxy-target-value="1" />

</bean>

?

<bean ref="conversionService" />

? ?<property name="validator" ref="validator" />

? </bean>

</property>

</bean>

?

<bean id="conversionService" />

<bean id="validator" />?

?

?

-----------------------------------------------------------

?

java.lang.StackOverflowError:(很少)?

java.lang.OutOfMemoryError:heap space(比较常见)?

java.lang.OutOfMemoryError: PermGen space (经常出现)?

?

以下分别解释一下,从最常见的开始:?

?

java.lang.OutOfMemoryError: PermGen space 这个异常比较常见,是说JVM里的Perm内存区的异常溢出,由于JVM在默认的情况下,Perm默认为64M,而很多程序需要大量的Perm区内存, 尤其使用到像Spring等框架的时候,由于需要使用到动态生成类,而这些类不能被GC自动释放,所以导致OutOfMemoryError: PermGen space异常。解决方法很简单,增大JVM的 -XX:MaxPermSize 启动参数,就可以解决这个问题,如过使用的是默认变量通常是64M[5.0 and newer: 64 bit VMs are scaled 30% larger; 1.4 amd64: 96m; 1.3.1 -client: 32m.],改成128M就可以了,-XX:MaxPermSize=128m。如果已经是128m(Eclipse已经是128m了),就改成 256m。我一般在服务器上为安全起见,改成256m。?

?

java.lang.OutOfMemoryError:heap space或 其它OutOfMemoryError,这个异常实际上跟上面的异常是一个异常,但解决方法不同,所以分开来写。上面那个异常是因为JVM的perm区内存区分少了引起的(JVM的内存区分为 young,old,perm三种)。而这个异常是因为JVM堆内存或者说总体分少了。解决方法是更改 -Xms -Xmx 启动参数,通常是扩大1倍。xms是管理启动时最小内存量的,xmx是管里JVM最大的内存量的。?

注:OutOfMemoryError可能有很多种原因,根据JVM Specification, 可能有一下几种情况,我先简单列出。stack:stack分区不能动态扩展,或不足以生成新的线程。Heap:需要更多的内存,而不能获得。Method Area :如果不能满足分配需求。runtime constant pool(从Method Area分配内存)不足以创建class or interface。native method stacks不能够动态扩展,或生成新的本地线程。?

?

最后说说java.lang.StackOverflowError,老实说这个异常我也没碰见过,但JVM Specification就提一下,规范上说有一下几种境况可能抛出这个异常,一个是Stacks里的线程超过允许的时候,另一个是当native method要求更大的内存,而超过native method允许的内存的时候。根据SUN的文档,提高-XX:ThreadStackSize=512的值。?

?

总的来说调优JVM的内存,组要目的就是在使用内存尽可能小的,使程序运行正常,不抛出内纯溢出的bug。而且要调好最小内存,最大内存的比,避免GC时浪费太多时间,尤其是要尽量避免FULL GC。?

?

如果你发现每次GC后,Heap的剩余空间会是总空间的50%,这表示你的Heap处于健康状态。许多Server端的Java程序每次GC后最好能有65%的剩余空间。经验之谈:?

?

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=256m

-XX:MaxPermSize=512m

-XX:ReservedCodeCacheSize=64m

-XX:ThreadStackSize=512

-----------------------------------------

手动删除服务:

sc delete 服务名

-----------------------------------------

方法二:在XP下启动MySQL服务?

?

MySql安装目录:“d:\MySql\”

?

进入命令行输入窗口(Dos命令输入)

进入“d:\MySql\bin”目录下运行“mysqld -u root” 命令。写法:

d:\MySql\bin\mysqld -u root (Enter)

?

运行后在进程管理中有mysql的进程,运行成功(可能需要手动关闭命令窗口)

?

然后在“d:\MySql\bin\”目录下运行“mysql” 命令

写法:

d:\MySql\bin\(Enter)

?

屏幕出现:

mysql>

然后就可以输入数据库语句。

------------------------------------------

context.lookup("java:comp/env/XXX")和直接context.lookup("XXX")的区别?

?

网上关于这两个的文章也很多,但是都说得很难理解,比如什么ENC环境啊什么的,各种概念。?

?

其实说得简单点:context.lookup("java:comp/env/XXX")只能用在J2EE环境,即是如果你自己写一个main函数,想通过context.lookup("java:comp/env/XXX")这样的方式来访问JNDI服务,这是不可能的。?

因为:java:comp/env/是一个J2EE环境的定义,说白了就是代表当前J2EE应用的环境,比如你自己项目的Web环境或者是EJB环境,那是不是只要是个Web项目,就能用context.lookup("java:comp/env/XXX")这种方式访问JNDI服务了呢?也不是!!!?

使用这样的方式必须做一次 当前应用环境 到 资源名 的映射。?

在web.xml文件中有这样的标签:?

<resource-env-ref></resource-env-ref>?

<resource-ref></resource-ref>?

<ejb-local-ref></ejb-local-ref> ?

<ejb-ref></ejb-ref>?

这些标签就是用来建立当前应用环境到服务器资源的映射的。?

有了这样的映射之后,就能采用context.lookup("java:comp/env/XXX")的方式来访问JNDI资源了。?

?

?

注意:context.lookup("XXX")在任何时候都是有效的,只要XXX确实是一个存在的JNDI名。?

?

?

举个例子(于weblogic和J2EE 2.5的规范下):?

用weblogic10的控制台定了了一个oracle数据源,这个数据源的JNDI名称是:adsl,那么只要正确连接上了weblogic(当然需传递URL,用户名和密码还有weblogic的JNDI工厂对象,这不属于该文的讨论范围)在任何地方都能用context.lookup("xxx")得到这个数据源了,但是想通过context.lookup("java:comp/env/jdbc/adsl")访问到这个数据源,就不行了。如果想这样写的话需要做两件事情:?

1、确保你的调用程序是一个web项目或者EJB项目,并部署到weblogic上。(例子使用web项目)?

2、在web项目的web.xml里面加上如下配置:?

<resource-ref>?

? <res-ref-name>jdbc/adsl</res-ref-name>?

? <res-auth>Container</res-auth>?

? <mapped-name>adsl</mapped-name> <!-- 这个必须和你的全局JNDI数据源名称一样 --> ?

</resource-ref>?

那么你就能在你的web程序里通过context.lookup("java:comp/env/jdbc/adsl")访问到这个数据源了。?

?

关于EJB的访问也类似这样,可以直接访问全局EJB的JNDI名,和可以映射之后从java:comp/env/下进行访问。?

?

?

上面的情况只适用于weblogic和J2EE 2.5的规范下。?

?

?

tomcat可以配置 全局JNDI 和私有JNDI(注意这里说的Tomcat6):

?

!!!首先想要说明的是Tomcat的配置不需要修改web.xml里面的任何内容!!!!!?

!!!Tomcat的全局JNDI资源不能直接访问,必须有java:comp/env/前缀!!!!!!?

全局的JNDI配置在server.xml里面的<GlobalNamingResources>标签里面添加如下配置:?

? ? <Resource name="jdbc/test"?

auth="Container"?

? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? username="root"?

? ? ? ? ? ? password="root"?

? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? maxWait="-1"/>?

然后某一个项目想要引用这个全局的JNDI,就需要在项目的META-INF下面建立context.xml文件,在里面写上:?

<?xml version="1.0" encoding="UTF-8"?>?

<Context>?

? ? <ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>?

</Context>?

这样就可以在程序里面通过context.lookup("java:comp/env/jdbc/test")进行访问了。?

?

?

私有的JNDI有三种方式可以配置:?

?

1、可以直接在server.xml里面的<Host>节点下添加如下配置:?

<Context path="/test_tomcat6_jndi">?

<Resource name="jdbc/test"?

?auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

</Context>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了,需要注意的是path="/test_tomcat6_jndi",这个名字必须和你的项目名称相同,而且不能少了那个斜杠,而且你的项目是通过拷贝文件夹到webapps下面的方式进行的部署。?

?

2、 也可以在conf/context.xml里面增加如下配置:?

? ? ?<Resource name="jdbc/test"?

? ? ?auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?

?

3、还可以在项目的WebRoot下面的META-INF文件夹下面创建context.xml文件,再在context.xml文件里面写上?

<?xml version="1.0" encoding="UTF-8"?>?

<Context>?

? ? <Resource name="jdbc/test"?

? auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

</Context>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?

?

?可以看到,每个服务器都有他自己的JNDI配置方式和全局访问方式,如果我们直接采用全局访问方式,第一对于一些只对某些应用有关的资源配置可能访问不到,例如JETTY,第二每个应用服务器的全局访问方式可能不太一致。因此一般建议在应用程序中采用私有方式(java:comp/env)访问资源,并且无论如何都在web.xml中进行申明。这是一个良好的习惯。

?

-------------------------------------------------

(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。

?

(2) C#中可以使用函数URLEncoder.encode对特殊字符进行编码。

?

(3) Java中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。

?

(4) php中可以使用函数urlencode对特殊字符进行编码。

--------------------------------------------------

SVN地址如下:

?

Spring3.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?https://src.springframework.org/svn/spring-framework/ ? ? ??

Spring2.5 及以下版本 ? ? ? ? ? https://src.springframework.org/svn/spring-maintenance/

Spring Security ? ? ? ? ? ? ? ? ? ? ?https://src.springframework.org/svn/spring-security/

?

servlet-api 源码?

https://glassfish-svn.dev.java.net/svn/glassfish-svn/trunk

用户“guest”不需输入密码。

?

Tomcat 源码

http://svn.apache.org/repos/asf/tomcat

?

Jetty 源码

website:http://www.mortbay.org/jetty/

SVN :http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty

?

jBoss 源码

http://anonsvn.jboss.org/repos/jbossas

---------------------------------------------------------

getRealPath("/")过时,对应的替代方法:

?

request.getSession().getServletContect().getRealPath("/")得到站点的绝对地址

?

?

?

在Servlet 和Struts中还可以用

?

this.getServletContect().getRealPath("/");//这个有可能拿到null

?

this.getServlet().getServletContect().getRealPath("/");//这个没试过

?

ServletActionContext.getServletContext().getRealPath("comm");

?

?

一般情况下使用this.getServlet().getServletContext().getRealPath()和request.getSession().getServletContext().getRealPath()是一样的效果,但是当我们部署的一个EAR包里面有多个WAR应用包共享会话时,request.getSession().getServletContext().getRealPath()这个可能取不到你想要的这个应用的绝对路径,而取到的是其他应用的绝对路径,所以,最好还是使用this.getServlet().getServletContext().getRealPath()来获取绝对路径,避免在这种多应用会话共享情况下绝对路径的错乱。

?

?

//下面为struts2里面的方案

ActionContext ac = ActionContext.getContext(); ??

ServletContext sc = (ServletContext) ac.get(ServletActionContext.SERVLET_CONTEXT); ??

String path = sc.getRealPath("/"); ?

request.getContextPath().toString(); 相对路径

-----------------------------------------------------------

但是用SecureCRT实时查看日志时: tail -f /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/logic.log中的中文却显示乱码

?

根据网上的做法

1:管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->将通用jvm参数设置为?

-Dfile.encoding=GBK -Ddefault.client.encoding=GBK?

2:管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->将通用jvm参数设置为 -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=zh -Duser.region=CN?

?

?

-----------------------------------------------------

js:double类型保存小数点后两位(toFixed()方法)

?

var sNum = "12.5557";

? ? nNum = parseFloat(sNum);

if(!isNaN(nNum)) {

? ? alert(nNum.toFixed(2));

}

?

?

?

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

?

语法

NumberObject.toFixed(num)

?

参数描述

num必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

?

返回值

返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

?

抛出

?

当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

实例

?

在本例中,我们将把数字舍入为仅有一位小数的数字:

?

<script type="text/javascript">

var num = new Number(13.37);

document.write (num.toFixed(1))

</script>

?

输出:

?

13.4

?

------------------------------------------

迭代判断一个很好的demo

<s:iterator value="#list" id="stati">

<s:if test="%{#stati.ywlx=='合计'}">

<tr >${stati.ywlx}</td>

<td ...... /c 起始和关闭标签之间就是body-content。由于没有处理body-content ,所以上面设为empty,如果是嵌套标签,或则是要在服务器端处理标签体的话,就是jsp了“attribute”里的name:属性名字。例如c:out value=""/里的value。

?

名字可任意取,只要类里提供相应的set方法即可。?

required:是否必填属性。?

rtexprvalue:是否支持运行时表达式取值就是是否可以<%=%>或则是${}方式传值。?

这是tag的强大功能。

---------------------------------------------------

?

状态栏显示停留多长时间:

?

第一步:把如下代码加入到<head>区域中-->

?

<script>

?

? ? var Temp;

? ? var TimerId = null;

? ? var TimerRunning = false;

?

? ? Seconds = 0

? ? Minutes = 0

? ? Hours = 0

?

? ? function showtime(){

? ? ? if(Seconds >= 59){

? ? ? ? Seconds = 0

? ? ? ? if(Minutes >= 59){

? ? ? ? ? Minutes = 0

? ? ? ? ? if(Hours >= 23){

? ? ? ? ? ? Seconds = 0

? ? ? ? ? ? Minutes = 0

? ? ? ? ? ? Hours = 0

? ? ? ? ? }?

? ? ? ? ? else {?

? ? ? ? ? ? ++Hours?

? ? ? ? ? }

? ? ? ? }?

? ? ? ? else {?

? ? ? ? ? ++Minutes?

? ? ? ? }

? ? ? }?

? ? ? else {?

? ? ? ? ++Seconds?

? ? ? }

?

? ? ? if(Seconds != 1) { var ss="s" } else { var ss="" }

? ? ? if(Minutes != 1) { var ms="s" } else { var ms="" }

? ? ? if(Hours != 1) { var hs="s" } else { var hs="" }

?

? ? ? Temp = '你在本页停留了 '+Hours+' 小时'+', '+Minutes+' 分'+', '+Seconds+' 秒'+''

? ? ? window.status = Temp;

? ? ? TimerId = setTimeout("showtime()", 1000);

? ? ? TimerRunning = true;

? ? }

??

? ? var TimerId = null;

? ? var TimerRunning = false;

?

? ? function stopClock() {

? ? ? if(TimerRunning)?

? ? ? ? clearTimeout(TimerId);

? ? ? ? TimerRunning = false;

? ? }

?

? ? function startClock() {

? ? ? stopClock();

? ? ? showtime();

? ? }

?

? ? function stat(txt) {

? ? ? window.status = txt;

? ? ? setTimeout("erase()", 2000);

? ? }

?

? ? function erase() {

? ? ? window.status = "";

? ? }

?

</SCRIPT>

?

?

<!--第二步:把“onLoad="startClock()"”加在<body>标记里

例如:-->

<body onLoad="startClock()">

?

这个只在ie下有效果

--------------------------------------------------------------------

myeclipse下java编辑器选中元素无法高亮显示的解决方案:

?

windows-> preferences-> java-> Editor-> Mark Occurences ?

?

最上边的大标题的复选框勾上,下面的就都可以高亮显示了,Local variables是变量的高亮显示

-------------------------------------------------------------------

异常: strtus2中表单提交时报Could not create and/or set value back on to object?

? 最终解决办法:对应于表单的bean 需要空的构造函数。

?

?

struts2.x 严重: Could not create and/or set value back on to object:

?

?

?

原因:因为在表单提交的时候,action并没有创建表单对应的实例。之所以这样是因为在写表单对应的类时,写了一个带有参数的构造方法,而在action中只是定义了这个类,没有实现。

?

解决方法:方法1、在表单对应的类中,再建个什么也不做的构造方法,即不带有参数和方法的构造方法。

?

? ? ? ? ? 方法 2、在action中,new出表单对应的类。

?

?

-----------------------------------------------------------

BeanUtils包的使用,切记不可引用错了,不然错了都不知道死哪里,因为tomcat下能通过,太二了

org.apache.commons.beanutils.BeanUtils(正确的包)

com.sun.org.apache.commons.beanutils.BeanUtils(错误的包)

-----------------------------------------------------------

热点排行