ďť??xml version="1.0" encoding="utf-8" standalone="yes"?>久久riav二区三区,午夜影院在线观看视频,亚洲一区二区成人http://www.aygfsteel.com/Good-Game/zh-cnSat, 03 May 2025 12:08:09 GMTSat, 03 May 2025 12:08:09 GMT60hbn-annotationsĺ­Śäš (f¨¤n)-不求äş?ant junit环境配置) http://www.aygfsteel.com/Good-Game/archive/2009/04/14/265452.htmlG_GG_GTue, 14 Apr 2009 03:30:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2009/04/14/265452.htmlhttp://www.aygfsteel.com/Good-Game/comments/265452.htmlhttp://www.aygfsteel.com/Good-Game/archive/2009/04/14/265452.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/265452.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/265452.htmlĺ­Śäš (f¨¤n)žŽ×ƒťŽĺŽ˜ć–šçš„ćľ‹čŻ•ĺź€ĺ§‹ďźŒä˝†ä¸çŸĽé“ć€Žäšˆĺ›žäş‹ĺŽ˜ć–šçš„ćľ‹čŻ•ćœ‰é—Žé˘˜ĺQŒčż™ćˆ‘ĺ°ąćŠŠćˆ‘é…ç˝Žçš„çŽ€ĺ•junit环境ĺ…׃ínžl™ĺ¤§ĺŽśćŠŠĺQ?br />1.下蝲 hibernate-annotations-3.4.0.GA ňqśč§ŁĺŽ?,cd 到解压后目录ä¸?br />2. $>ant junit ĺQˆĺ¤ŠçŸĽé“ĺQŒć€ŽäšˆĺŽ˜ć–šĺ‡şçš„ä¸œčĽż‹š‹čŻ•ä¸čƒ˝é€ščż‡ĺQďźĺQ?br /> (t¨Šng) (t¨Šng) 不要急,我们来看错误 (错误提示有删ĺ‡?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 错误-1ĺQ?>build.xml:95: ./jdbc not found.
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 解决办法-1ĺQ?$>mkdir ./jdbc
3. (t¨Šng) $>ant junit
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 错误-2ĺQšÂ?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./build.xml:124: The following error occurred while executing this line:
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./build.xml:126: The following error occurred while executing this line:
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./common-build.xml:349: .\src\filters\hsqldb.filter as it doesn't exist.
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 解决办法-2ĺQ?br /> (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $>mkdir (t¨Šng) ./src/filters ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $>echo "" > ./src/filters/hsqldb.filter;
4.  (t¨Šng) $>ant junit
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 错误-3ĺQ?br /> (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./build.xml:124: The following error occurred while executing this line:
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./build.xml:126: The following error occurred while executing this line:
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./common-build.xml:351: .\src\test-resources not found.
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $>mkdir (t¨Šng) ./src/test-resources ;
5.  (t¨Šng) $>ant junit
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 错误-4ĺQšć˛Ąćœ‰ant 错误äş?ji¨Łn)ĺQŒä˝†‹š‹čŻ•éƒ˝äؓ(f¨´)错误ĺQŒé‚Łćˆ‘䝏žŽŢqœ‹çœ?˝WŹä¸€ä¸Şćľ‹čŻ•ĺ§ĺQŒć‰žä¸‹ĺŽŸĺ› ďź
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) test-resources:
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) [mkdir] Created dir: hibernate-anntations-3.4.0.GA\build\test-reports\hsqldb
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) [echo] Running against db: hsqldb
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) [junit] Running org.hibernate.test.annotations.ConfigurationTest
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) [junit] Tests run: 7, Failures: 0, Errors: 6, Time elapsed: 1.218 sec
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) .............
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $>find . -name "ConfigurationTest.java" (t¨Šng) #pwd /hibernate-anntations-3.4.0.GA
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./test/org/hibernate/test/annotations/configuration/ConfigurationTest.java
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ./test/org/hibernate/test/annotations/ConfigurationTest.java
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ć ŇŽ(gu¨Š)ŽčˇŻĺž„ org.hibernate.test.annotations.ConfigurationTest
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) gvim (t¨Šng) ./test/org/hibernate/test/annotations/ConfigurationTest.java
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 发现˝W?0čĄ? cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 感觉应该没有配置 jdbc
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) gvim ./test/org/hibernate/test/annotations/hibernate.cfg.xml (t¨Šng) #果然 没配ž|?br /> (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 我这žŽąć”žä¸Şćˆ‘çš„çŽ€ĺ•é…ž|Žä¸Šć?使用 hbm hsqldb 内存数据库测 čŻ?)ĺQ?br />
<!DOCTYPE (t¨Šng)hibernate-configuration (t¨Šng)PUBLIC
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)"-//Hibernate/Hibernate (t¨Šng)Configuration (t¨Šng)DTD (t¨Šng)3.0//EN"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<hibernate-configuration>
 (t¨Šng) (t¨Šng)
<session-factory>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<property (t¨Šng)name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<property (t¨Šng)name="connection.driver_class">org.hsqldb.jdbcDriver</property>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<property (t¨Šng)name="connection.url">jdbc:hsqldb:mem:hbn_ann</property>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<property (t¨Šng)name="connection.username">sa</property>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<property (t¨Šng)name="connection.password"></property>
 (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<mapping (t¨Šng)resource="org/hibernate/test/annotations/Boat.hbm.xml"/>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<mapping (t¨Šng)package="org.hibernate.test.annotations"/>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<mapping (t¨Šng)class="org.hibernate.test.annotations.Plane"/>
 (t¨Šng) (t¨Šng)
</session-factory>
</hibernate-configuration>


 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 我这žŽąć˜Żčځhsqldb吧,既然上面错误1ćœ?jdbc 文äšg夹,那就是放 jdbc jar 的地ć–?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $> cp ../hsqldb.jar (t¨Šng) ./jdbc
 (t¨Šng) (t¨Šng) (t¨Šng)
6.  (t¨Šng) $>ant junit
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 呵呵 ‹š‹čŻ• ˝WŹä¸€ä¸Şć­Łź‹Žäş†(ji¨Łn) ĺQ?ĺQˆç›Žĺ‰é…ž|ŽĺŽĺQŒćľ‹čŻ•çŽŻĺ˘ƒĺĆˆä¸ć˜Żĺ…¨éƒ¨éƒ˝ć­Łź‹ŽďźŒćŻ”ĺŚ‚˝W?个测试)(j¨Ş)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 其他‹š‹čŻ•é”™čŻŻć—Ľĺż—ĺœ¨Â?t¨Šng) (t¨Šng)?.\build\test-reports\hsqldb ...
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 比如˝W?个错čŻ?异常部分
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
 (t¨Šng) (t¨Šng) (t¨Šng) at org.hibernate.dialect.Dialect.instantiateDialect(Dialect.java:256)
 (t¨Šng) (t¨Šng) (t¨Šng) at org.hibernate.dialect.Dialect.getDialect(Dialect.java:234)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ........ 大家一边学äš?f¨¤n),一辚w…ž|Žćľ‹čŻ?环境吧ă€?br /> (t¨Šng) (t¨Šng) (t¨Šng) 错误日记 都会(x¨Ź)ĺœ?build\test-reports\hsqldbä¸?/b>



G_G 2009-04-14 11:30 发表评论
]]>
html css 切割囄Ą‰‡ 昄Ą¤ş http://www.aygfsteel.com/Good-Game/archive/2009/02/24/256468.htmlG_GG_GTue, 24 Feb 2009 08:46:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2009/02/24/256468.htmlhttp://www.aygfsteel.com/Good-Game/comments/256468.htmlhttp://www.aygfsteel.com/Good-Game/archive/2009/02/24/256468.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/256468.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/256468.html参考:(x¨Ź)
http://tech.ddvip.com/2008-12/122835390597191.html


™ĺľé˘ĺŻäťĽç›´ćŽĽ˜qčĄŒĺQ?br />
<html>
<head>

<style (t¨Šng)type="text/css">

.box1
{
float
:left;
width
:21px;
height
:21px;
position
:relative;
background
: (t¨Šng)#F3F2E2 (t¨Šng)url(http://mp3.youdao.com/images/mbox_bg.gif) (t¨Šng)no-repeat;
}
.box1 (t¨Šng)
{
background-position
: (t¨Šng)0px (t¨Šng)-60px;
}


</style>

</head>

<body>

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
<div (t¨Šng)class="box1" (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)onmouseover
="this.style.backgroundPosition='0px (t¨Šng)-81px' (t¨Šng)" (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)onmouseout
="this.style.backgroundPosition='0px (t¨Šng)-102px' (t¨Šng)" (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</div>

</body>

</html>



G_G 2009-02-24 16:46 发表评论
]]>
javascript 基础ć€Čť“ĺQˆé˘ĺ‘寚蹥(j¨Ş)http://www.aygfsteel.com/Good-Game/archive/2009/02/12/254355.htmlG_GG_GThu, 12 Feb 2009 03:56:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2009/02/12/254355.htmlhttp://www.aygfsteel.com/Good-Game/comments/254355.htmlhttp://www.aygfsteel.com/Good-Game/archive/2009/02/12/254355.html#Feedback2http://www.aygfsteel.com/Good-Game/comments/commentRss/254355.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/254355.html javascript ĺ­Śäš (f¨¤n)
 (t¨Šng) (t¨Šng)  (t¨Šng)  (t¨Šng) javascript 大体上可分äؓ(f¨´)3个不同部分组成:(x¨Ź) 核心(j¨Š)ĺQˆECMAscriptĺQ?文本对象(DOM),‹šč§ˆĺ™¨ĺŻščą?BOM)
    1.  (t¨Šng)核心(j¨Š)ĺQˆECMAscriptĺQ‰ďźš(x¨Ź) 关键字,语句ĺQŒčż˝Ž—珌ĺQŒĺŻščą?br />
    2. 文本对象(DOM)ĺQšDOMžŽ†ćŠŠć•´ä¸Ş™ĺľé˘č§„ĺˆ’ćˆç”ąčŠ‚ç‚šĺą‚çń”ćž„ćˆçš„ć–‡ćĄ?
      1. 解析遵ĺó@ W3C html dom 标准ĺQ?/font>
      2.  (t¨Šng) W3C dom DOM Node 说明 (t¨Šng) (t¨Šng) (t¨Šng)
    3. BOM ‹šč§ˆĺ™¨ĺŻščą? (t¨Šng) cookie,弹出新浏览器ĺQŒćľč§ˆĺ™¨čŽ„Ą˝Žĺ¤§ĺ°
 (t¨Šng)
核心(j¨Š)ĺQˆECMAscriptĺQ‰Global 内置对象ĺQ?br />  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ć–ŇŽ(gu¨Š)ł•ĺQ?parseInt(),isNan(),encodeURI()...˝{‰éƒ˝ä¸şć­¤ĺŻščąĄć–ŇŽ(gu¨Š)ł•
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 特别注意 eval();动态语­a€çš„蹥ĺž?比如ĺQševal("alert('hi')"); 但这个方法很邪恶ĺQˆĺŽ‰ĺ…¨ć–šé˘ďź‰(j¨Ş)
文本对象(DOM)说明ĺQ?br />
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>

DOM node tree

Node tree

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)


 (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)

 (t¨Šng) 1. ECMAscript基础

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $ 变量ĺźŢqąťĺž?;  (t¨Šng) (t¨Šng) (t¨Šng) 匈牙利类型标˝C?: var iOuouValue=100; (t¨Šng)

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $ žl“ćŸčĄŒĺˆ†ĺähœ‰ć— éƒ˝ĺŻäťĽ;  (t¨Šng) (t¨Šng) (t¨Šng) 但再 onsubmit="javascript:function();return false;"

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $ 关键ĺ­?; 提别注意

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) "constructor" bean.constructor

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //print bean function(){

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ....

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) "typeof"  (t¨Šng) var test=1; alert(typeof testX); //output "undefined"

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) "NaN" - not a number -> (t¨Šng) isNan("blue"); //output "true"  (t¨Šng) ->isNan("123"); //output "false" (t¨Šng)

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) $ 寚蹥; var o = new Object(); var a = {} (t¨Šng)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)˜q™é‡Œç‰šĺˆŤčŻ´ć˜Žä¸?我们普通写çš?一ä¸?function žŽąć˜Żä¸€ä¸?object (t¨Šng)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) ˜q™Â?t¨Šng)?var a = {name:"刘凯ćŻ?} ˝{‰ĺŒä¸?var a = function(){this.name="刘凯ćŻ?font size="4">"};

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 来个 {name:"test",pass:"123456",addr:"bj"} //˜q™ć˜Żäť€äš?ĺQŸďź json

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ĺ˝?var str = '{name:"test",pass:"123456",addr:"bj"}'

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) var objectBean = eval(str); //˜q™é‡ŒžŽąć˜Ż 寚蹥 objectBea.name 使用äş?/font>

 (t¨Šng) 域概念:(x¨Ź)

<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
 (t¨Šng) sColor = 'red';
 (t¨Šng) sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello World!
alert(sColor); //red
</SCRIPT>
<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
 (t¨Šng) var sColor = 'red';
 (t¨Šng) sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello World!
alert(sColor); // 什么都没有
</SCRIPT>

<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
 (t¨Šng) var sColor = 'red';
 (t¨Šng) var sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello
alert(sColor); // 什么都没有
</SCRIPT>

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)

为面向对象做基础ĺQ?/b>object prototype žcŐdž‹çš„寚蹥应用ă€?a id="vgou" title="参č€?>参č€?/a>

// 最˝Ž€ĺ•çš„ žl§ć‰ż
Object.prototype.inObj (t¨Šng)= (t¨Šng)1;

function (t¨Šng)A()
{
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)this.inA (t¨Šng)= (t¨Šng)2;
}
 (t¨Šng)
A.prototype.inAProto (t¨Šng)= (t¨Šng)3;
 (t¨Šng)
B.prototype (t¨Šng)= (t¨Šng)new (t¨Šng)A; (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)// (t¨Šng)Hook (t¨Šng)up (t¨Šng)A (t¨Šng)into (t¨Šng)B's (t¨Šng)prototype (t¨Šng)chain
B.prototype.constructor (t¨Šng)= (t¨Šng)B;
function (t¨Šng)B()
{
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)this.inB (t¨Šng)= (t¨Šng)4;
}
 (t¨Šng)
B.prototype.inBProto (t¨Šng)= (t¨Šng)5;
 (t¨Šng)
x (t¨Šng)= (t¨Šng)new (t¨Šng)B;
document.write(x.inObj (t¨Šng)+ (t¨Šng)', (t¨Šng)' (t¨Šng)+ (t¨Šng)x.inA (t¨Šng)+ (t¨Šng)', (t¨Šng)' (t¨Šng)+ (t¨Šng)x.inAProto (t¨Šng)+ (t¨Šng)', (t¨Šng)' (t¨Šng)+ (t¨Šng)x.inB (t¨Šng)+ (t¨Šng)', (t¨Šng)' (t¨Šng)+ (t¨Šng)x.inBProto);

//1, 2, 3, 4, 5
//增加点信ĺż?http://www.json.org/json.js
Object.prototype.toJSONString = function (filter) {
return JSON.stringify(this, filter);
};
后我们就可以使用 bean.toJSONString()不是吗?

 (t¨Šng) (t¨Šng) (t¨Šng) $ arguments ;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function getFun(){alert(arguments.length);} (t¨Šng) (t¨Šng) ;

 (t¨Šng)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)getFun("xx") //output 1

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)getFun("xx",23) //output 2



 (t¨Šng) (t¨Šng) $ 语句 ;ç‰ŇŽ(gu¨Š)ŽŠčŻ´ć˜Žä¸?for (t¨Šng)

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) for(var i=0i<iCount;i++) (t¨Šng) (t¨Šng) ćˆ?for( attr in object ) ;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 如果无聊 你可äť?for( sProp in window ){alert(sProp+"你丫点啊ĺQ?);} //看看 javascript 的反žŽ?br />

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)

 (t¨Šng)  (t¨Šng)  (t¨Šng)  (t¨Šng)  (t¨Šng)  (t¨Šng)  (t¨Šng)  (t¨Šng) (t¨Šng)

 (t¨Šng) (t¨Šng) (t¨Šng)


面向对象ĺQ?/b>

 (t¨Šng) var bean = new Bean();

 (t¨Šng) (t¨Šng)

 (t¨Šng) 1.工厂ć–ŇŽ(gu¨Š)ł•

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) function getAttr(){

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) alert(this.attr)

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function Bean(tattr){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) var bean = new Object;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)bean.attr = tattr;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)bean.getAttr = getAttr;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) return bean ;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ć ŇŽ(gu¨Š)œŹžŽąć˜Żĺąąĺݍç‰?面向对象

 (t¨Šng) 2.构é€?/b>

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) function Bean(tattr){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.attr = tattr ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) bean.getAttr = function(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)alert(this.attr);

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)  (t¨Šng)}  (t¨Šng)  (t¨Šng)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)}

 (t¨Šng) (t¨Šng) 其上 2 ć€?再Bean 对象创徏ć—ÓžźŒć–ŇŽ(gu¨Š)ł•äź?“重复生成函数”!


 (t¨Šng) 3.原型模式

 (t¨Šng) (t¨Šng) (t¨Šng) function Bean(){}

 (t¨Šng) (t¨Šng) (t¨Šng) Bean.prototype.attr = "";

 (t¨Šng) (t¨Šng) (t¨Šng) Bean.prototype.getAttr=function(){alert(this.attr);}

 (t¨Šng) (t¨Šng)  (t¨Šng)

 (t¨Šng) (t¨Šng) 解决 “重复生成函数â€?问题ĺQŒä˝†ć–°çš„é—Žé˘˜ Bean.prototype.getArray = new Array();


 (t¨Šng) (t¨Šng) ĺ…?new 寚蹥 bean1 ĺ’?bean2 都会(x¨Ź)ĺ…׃ín new Array ˝Işé—´(是我们不想看到的)


 (t¨Šng) 4.桡合 模型 :) (t¨Šng) 哈哈

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function Bean(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)this.attr= "";

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)this.getArray=new Array;

 (t¨Šng) (t¨Šng)  (t¨Šng)}

 (t¨Šng) (t¨Šng)  (t¨Šng)Bean.prototype.getAttr=function(){alert(this.attr);}

 (t¨Šng)

 (t¨Šng) 5.动态原ĺž?ĺQˆćł¨ć„ä¸‹é˘ĺź€ĺ§‹ďźŒžŽąć˜ŻçœŸć­Łçš„é˘ĺ‘ĺŻščą?/span>ĺQďźĺQďź‰(j¨Ş)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) function Bean(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.attr= "";
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)this.getArray=new Array;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //classload 加蝲 ć—?br />

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if(typeof Bean._initialized == "undefined" ){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) Bean.prototype.getAttr=function(){alert(this.attr);};

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) Bean._initialized= true ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)}

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }

 (t¨Šng) (t¨Šng) (t¨Šng)

/****************************************************************/

寚蹥žl§ć‰ż

 (t¨Šng) 1.对象冒充ĺQďź(可支持多žl§ć‰żĺQŒĺąąĺŻ¨ĺžˆĺźşĺ¤§)

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function classA(sstr){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.color = sstr ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.sayColor = function(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) alert(this.color);

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)};

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)}

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) function classC(){}

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) function classB(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.newMethod =ClassA ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.newMethod();

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) delete this.newMethod ;


 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.newMethod =ClassC ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.newMethod();

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) delete this.newMethod ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.arrt = "google";

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)}

 (t¨Šng) (t¨Šng)  (t¨Šng)

 (t¨Šng) 2.call() apply() 也山ĺŻ?

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function classA(sstr){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.color = sstr ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.sayColor = function(str){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) alert(str+this.color);

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)};

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)}

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) function classB(){

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) // this.newMethod =ClassA ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) // this.newMethod();

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) // delete this.newMethod ;

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) classA.call(this,"red");

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //classA.apply(this,new Array("red"))

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) this.arrt = "baidu";

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) }


3.正统的ç‘ôć‰?原型é“?/b> (但不支持多ç‘ôć‰?
 (t¨Šng) (t¨Šng) (t¨Šng) function classA(){this.oo="test";}
 (t¨Šng) (t¨Šng) (t¨Šng) classA.prototype.color = "red";
 (t¨Šng) (t¨Šng) (t¨Šng) function classB(){}
 (t¨Šng) (t¨Šng) (t¨Šng) classB.prototype = new classA ;
 (t¨Šng) (t¨Šng) (t¨Šng) classB.prototype.sayName = function(){
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) alert( this.color );
 (t¨Šng) (t¨Šng)  (t¨Šng)}
 (t¨Šng) (t¨Šng)  (t¨Šng)
var bb = new classB ;
 (t¨Šng) (t¨Šng)  (t¨Šng)bb.sayName();
// output red
 (t¨Šng) (t¨Šng)  (t¨Šng)
alert(bb.oo); // output test

 (t¨Šng) (t¨Šng)  (t¨Šng)alert( bb instanceof classA); //output true
 (t¨Šng) (t¨Šng)  (t¨Šng)alert( bb instanceof classB); //output (t¨Šng) true

4.如果你要多ç‘ô承!ĺQĺƈ且还支持 instanceof
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) 混合方式ĺQ?br />
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function classA(){}
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function classB(){}
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) function classC(){
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) classA.call(this);
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) classC.call(this);
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)}
 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) classC.prototype = new classA ;//注意 ˜q?
instanceof 只能ĺŻ?A有用

 (t¨Šng) (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng)






 (t¨Šng) (t¨Šng) (t¨Šng)



G_G 2009-02-12 11:56 发表评论
]]>
linux flash 安装http://www.aygfsteel.com/Good-Game/archive/2009/01/12/251041.htmlG_GG_GMon, 12 Jan 2009 15:39:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2009/01/12/251041.htmlhttp://www.aygfsteel.com/Good-Game/comments/251041.htmlhttp://www.aygfsteel.com/Good-Game/archive/2009/01/12/251041.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/251041.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/251041.html
下蝲ĺQšflash-plugin-10.0.15.3-release.i386.rpm

 (t¨Šng)rpm -ivh flash-plugin-10.0.15.3-release.i386.rpm


G_G 2009-01-12 23:39 发表评论
]]>
tomcat 调试 http://www.aygfsteel.com/Good-Game/archive/2008/12/26/248512.htmlG_GG_GFri, 26 Dec 2008 09:52:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/12/26/248512.htmlhttp://www.aygfsteel.com/Good-Game/comments/248512.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/12/26/248512.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/248512.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/248512.html
tomcat > server.xml

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) <Host name="localhost" appBase="webapps"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) unpackWARs="true" autoDeploy="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) xmlValidation="false" xmlNamespaceAware="false">

 (t¨Šng) <Context docBase="D:/workspace/meganotes/mn_mod_admin/target/mn_mod_admin/" path="/" (t¨Šng) />

。。。ă€?br />

关键ĺQšĺœ¨Context上不要加reloadable和debug属ć€?
 (t¨Šng)然后 使用eclipse tomcat 调试
ok



G_G 2008-12-26 17:52 发表评论
]]>
基大çš?ant scp ĺ’?sshexec http://www.aygfsteel.com/Good-Game/archive/2008/12/24/248113.htmlG_GG_GWed, 24 Dec 2008 08:24:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/12/24/248113.htmlhttp://www.aygfsteel.com/Good-Game/comments/248113.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/12/24/248113.html#Feedback3http://www.aygfsteel.com/Good-Game/comments/commentRss/248113.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/248113.html
<? xml (t¨Šng)version="1.0" (t¨Šng)encoding="UTF-8" ?>
< project (t¨Šng) name ="ssh" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< property (t¨Šng) file ="ssh.properties"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< tstamp >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< format (t¨Šng) property ="TODAY"  (t¨Šng)pattern ="yyyyMMddHHmm"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ tstamp >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< property (t¨Šng) name ="ssh.path"  (t¨Šng)value ="/data/meganotes/shell/"  (t¨Šng) />


 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="shell/ (t¨Šng)文äšg (t¨Šng)上蝲/覆盖" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< input (t¨Šng) addproperty ="scp_coverage_shell_file"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)message
="输入ĺQˆssh/ (t¨Šng)下文件名 (t¨Šng)\n\r (t¨Šng)上蝲或覆盖Â?t¨Šng)到服务器?18 (t¨Šng)${ssh.path} (t¨Šng))ĺQ? >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ input >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< input
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
message ="čŻďL(f¨Ľng)ĄŽĺŽšć˜ŻĺŚä‹É用Â?t¨Šng)ssh/${scp_coverage_shell_file} (t¨Šng)覆盖服务器中 (t¨Šng)${ssh.host}:${ssh.path}${scp_coverage_shell_file} (t¨Šng)(y,n)"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)validargs
="y,n"  (t¨Šng)addproperty ="do.coverage"  (t¨Šng)defaultvalue ="n"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< condition (t¨Šng) property ="do.abort" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< equals (t¨Šng) arg1 ="n"  (t¨Šng)arg2 ="${do.coverage}"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ condition >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< fail (t¨Šng) if ="do.abort" > 退ĺ‡?/span> </ fail >

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)command
="
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)mkdir (t¨Šng)-p (t¨Šng)${ssh.path}backup/${TODAY} (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)if (t¨Šng)[ (t¨Šng)-f (t¨Šng)${ssh.path}${scp_coverage_shell_file} (t¨Šng) (t¨Šng) (t¨Šng)] (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)then (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)cp (t¨Šng)${ssh.path}${scp_coverage_shell_file} (t¨Šng)${ssh.path}backup/${TODAY}/ (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)fi (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)"
>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< scp (t¨Šng) file ="ssh/${scp_coverage_shell_file}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)todir
="${ssh.myName}:${ssh.myPass}@${ssh.host}:${ssh.path}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)trust
="true"  (t¨Šng)verbose ="true"  (t¨Šng) />

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)command
="chmod (t¨Šng)777 (t¨Šng)${ssh.path}${scp_coverage_shell_file}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="shell/ (t¨Šng)文äšg查看" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< input (t¨Šng) addproperty ="show_shell_file"  (t¨Šng)message ="输入查看文äšg名(*shĺQ‰ďźš(x¨Ź)"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)defaultvalue
="*" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ input >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)command
="ls (t¨Šng) (t¨Šng)/data/meganotes/shell/${show_shell_file}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="shell/ (t¨Šng)文äšg拯‚´" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< input (t¨Šng) addproperty ="scp_shell_file"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)message
="输入 (t¨Šng)/data/meganotes/shell/ (t¨Šng)下需要文件名ĺQˆcp (t¨Šng)刊W ssh (t¨Šng)下)(j¨Ş)ĺQ? >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ input >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< scp
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
file ="${ssh.myName}:${ssh.myPass}@${ssh.host}:/data/meganotes/shell/${scp_shell_file}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)todir
="ssh"  (t¨Šng)trust ="true"  (t¨Šng)verbose ="true"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >



 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="admin-mvnžl„ĺˆć“ä˝œ" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< exec (t¨Šng) executable ="cmd" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="/c"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="${basedir}/sh/mvn/meganotes_mvn_clear.bat"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ exec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< exec (t¨Šng) executable ="cmd" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="/c"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="${basedir}/sh/mvn/meganotes_mvn_install.bat"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ exec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< exec (t¨Šng) executable ="cmd" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="/c"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="${basedir}/sh/mvn/mn_mod_admin_mvn_intall.bat"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ exec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >


 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="admin-tomcat日志" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"  (t¨Šng)command ="${ssh.adminRunLog}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="schedule-tomcat日志" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)command
="${ssh.scheduleRunLog}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="查找2008/下Mp3沥č{128-64文äšgĺ¤? >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"  (t¨Šng)command ="${ssh.64k}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"  (t¨Šng)command ="${ssh.128k}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< sshexec (t¨Šng) host ="${ssh.host}"  (t¨Šng)username ="${ssh.myName}"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)password
="${ssh.myPass}"  (t¨Šng)trust ="true"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)command
="${ssh.128kto64k.err}" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ sshexec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< target (t¨Šng) name ="admin模块‹š‹čŻ•" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< input (t¨Šng) addproperty ="admin_test_input"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)message
="‹š‹čŻ•žcťčž“ĺ…ĽďźˆVideo*TestĺQ‰ďźš(x¨Ź)"  (t¨Šng)defaultvalue ="*Test" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ input >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< echo (t¨Šng) message ="${admin_test_input}" ></ echo >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< exec (t¨Šng) executable ="cmd" >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg (t¨Šng) value ="/c"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
< arg
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
value ="${basedir}/sh/admin_test.bat (t¨Šng)${admin_test_input} (t¨Šng)"  (t¨Šng) />
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ exec >
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
</ target >
</ project >



G_G 2008-12-24 16:24 发表评论
]]>
java gzip (使用ĺQŒäؕ码问题已解决ĺQ?http://www.aygfsteel.com/Good-Game/archive/2008/12/22/247757.htmlG_GG_GMon, 22 Dec 2008 06:35:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/12/22/247757.htmlhttp://www.aygfsteel.com/Good-Game/comments/247757.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/12/22/247757.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/247757.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/247757.html


 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) public  (t¨Šng) static  (t¨Šng) void  (t¨Šng)main(String[] (t¨Šng)args) (t¨Šng) {
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
try  (t¨Šng) {
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)String (t¨Šng)charset (t¨Šng)
=  (t¨Šng) " UTF-8 " ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)String (t¨Šng)outfile (t¨Šng)
=  (t¨Šng) " d:\\category.20081218.gz " ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)BufferedReader (t¨Šng)in (t¨Šng)
=  (t¨Šng) new  (t¨Šng)BufferedReader(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)I(y¨Şng)nputStreamReader(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)FileInputStream( " d:\\category.20081218 " ),
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)charset));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)BufferedOutputStream (t¨Šng)out (t¨Šng)
=
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)BufferedOutputStream(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)GZIPOutputStream(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)FileOutputStream(outfile)));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)System.out.println(
" Writing (t¨Šng)file " );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)String (t¨Šng)c;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
while ((c (t¨Šng) =  (t¨Šng)in.readLine()) != null )
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)out.write( (t¨Šng)(c
+ " \n " ).getBytes(charset));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)in.close();
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)out.close();
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)System.out.println(
" Reading (t¨Šng)file " );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)BufferedReader (t¨Šng)in2 (t¨Šng)
=
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)BufferedReader(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)I(y¨Şng)nputStreamReader(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)GZIPInputStream(
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
new  (t¨Šng)FileInputStream(outfile)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)),charset
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng))
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)String (t¨Šng)s;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
while ((s (t¨Šng) =  (t¨Šng)in2.readLine()) (t¨Šng) !=  (t¨Šng) null )
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)System.out.println(s);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) catch (Exception (t¨Šng)e) (t¨Šng) {
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)e.printStackTrace();
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}




G_G 2008-12-22 14:35 发表评论
]]>
jquery 补全使用˝W”čްhttp://www.aygfsteel.com/Good-Game/archive/2008/12/13/246081.htmlG_GG_GSat, 13 Dec 2008 01:41:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/12/13/246081.htmlhttp://www.aygfsteel.com/Good-Game/comments/246081.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/12/13/246081.html#Feedback1http://www.aygfsteel.com/Good-Game/comments/commentRss/246081.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/246081.html
官方上下
http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

$.补全中文 (t¨Šng) 修改
 (t¨Šng) (t¨Šng) (t¨Šng) jquery.autocomplete.js ä¸?br /> (t¨Šng) (t¨Šng) (t¨Šng) $input.bind(($.browser.opera ? "keypress" : "keydown")
 (t¨Šng) (t¨Šng) (t¨Šng) 改äؓ(f¨´)
 (t¨Šng) (t¨Šng) (t¨Šng) $input.bind(($.browser.opera ? "keypress" : "keyup")
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
$. ĺœ?localdata.js 》ă€?var cities = [.. (t¨Šng)
 (t¨Šng) (t¨Šng) 中放äş?中文 ‹š‹čŻ•ĺ?


‹š‹čŻ•™ĺľé˘ ĺQŒćœ€˝Ž€ĺ•的使用™ĺľé˘ 。(应该˝Ž—ć˜Żćœ€˝Ž€ĺ•襼全澋试了(ji¨Łn)ĺQ?br />
<script (t¨Šng)type="text/javascript" (t¨Šng)src="../lib/jquery.js"></script>
<script (t¨Šng)type='text/javascript' (t¨Šng)src='../jquery.autocomplete.js'></script>

<link (t¨Šng)rel="stylesheet" (t¨Šng)type="text/css" (t¨Šng)href="../jquery.autocomplete.css" (t¨Šng)/>
<script (t¨Šng)type="text/javascript">
$().ready(
function() (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)$(
"#suggest1").autocomplete([
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
"test1",
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
"test2",
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
"‹š‹čŻ•1",
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
"‹š‹čŻ•2"
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)]);
});
</script>

<input (t¨Šng)type="text" (t¨Šng)id="suggest1" (t¨Šng)/>



使用json

<script (t¨Šng)type="text/javascript" (t¨Šng)src="../lib/jquery.js"></script>
<script (t¨Šng)type='text/javascript' (t¨Šng)src='../jquery.autocomplete.js'></script>

<script (t¨Šng)type='text/javascript' (t¨Šng)src='localdata.js'></script>
<link (t¨Šng)rel="stylesheet" (t¨Šng)type="text/css" (t¨Šng)href="../jquery.autocomplete.css" (t¨Šng)/>
<script (t¨Šng)type="text/javascript">
var (t¨Šng)emails (t¨Šng)= (t¨Šng)[
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Peter (t¨Šng)Pan", (t¨Šng)to: (t¨Šng)"peter@pan.de" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Molly", (t¨Šng)to: (t¨Šng)"molly@yahoo.com" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Forneria (t¨Šng)Marconi", (t¨Šng)to: (t¨Šng)"live@japan.jp" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Master (t¨Šng)<em>Sync</em>", (t¨Šng)to: (t¨Šng)"205bw@samsung.com" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Dr. (t¨Šng)<strong>Tech</strong> (t¨Šng)de (t¨Šng)Log", (t¨Šng)to: (t¨Šng)"g15@logitech.com" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Don (t¨Šng)Corleone", (t¨Šng)to: (t¨Šng)"don@vegas.com" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Mc (t¨Šng)Chick", (t¨Šng)to: (t¨Šng)"info@donalds.org" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Donnie (t¨Šng)Darko", (t¨Šng)to: (t¨Šng)"dd@timeshift.info" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Quake (t¨Šng)The (t¨Šng)Net", (t¨Šng)to: (t¨Šng)"webmaster@quakenet.org" (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng){ (t¨Šng)name: (t¨Šng)
"Dr. (t¨Šng)Write", (t¨Šng)to: (t¨Šng)"write@writable.com" (t¨Šng)}
]


$().ready(
function() (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)$(
"#suggest13").autocomplete(emails, (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
//补全中选择昄Ą¤ş
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)formatItem: (t¨Šng)function(row, (t¨Šng)i, (t¨Šng)max) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return (t¨Šng)i (t¨Šng)+ (t¨Šng)"/" (t¨Šng)+ (t¨Šng)max (t¨Šng)+ (t¨Šng)": (t¨Šng)\"" (t¨Šng)+ (t¨Šng)row.name (t¨Šng)+ (t¨Šng)"\" (t¨Šng)[" (t¨Šng)+ (t¨Šng)row.to (t¨Šng)+ (t¨Šng)"]";
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
//补全匚w…ć źĺź
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)formatMatch: (t¨Šng)function(row, (t¨Šng)i, (t¨Šng)max) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return (t¨Šng)row.name (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)},
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
//补全选定后显˝C?/span>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)formatResult: (t¨Šng)function(row) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return (t¨Šng)row.to;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)})
});
</script>






G_G 2008-12-13 09:41 发表评论
]]>
ajax Form http://www.aygfsteel.com/Good-Game/archive/2008/11/09/239538.htmlG_GG_GSun, 09 Nov 2008 10:35:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/11/09/239538.htmlhttp://www.aygfsteel.com/Good-Game/comments/239538.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/11/09/239538.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/239538.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/239538.html
/* (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) 1.form (t¨Šng)ajax (t¨Šng)使用ĺQ?/b>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)eG:
formžŽąć˜Żć™Žé€šçš„ html form
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)<input (t¨Šng)type="button" (t¨Šng)value="xx" (t¨Šng)onclick="formAjax('data.jsp',this.form,ajaxReturn)"/>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)function (t¨Šng)ajaxReturn(data){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)document.getElementById("div1").innerHTML (t¨Šng)= (t¨Šng) (t¨Šng)data (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) 2.ajax (t¨Šng)使用 (t¨Šng) (t¨Šng) (t¨Šng)ĺQ?/b>
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction('url?param=tt&param2=te',function(text){ (t¨Šng) (t¨Šng)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)alert(text);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)});

 (t¨Šng) (t¨Šng) (t¨Šng) 3.˜q­äťŁĺ™¨ďźš(x¨Ź)

 (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes(array,dom,pushFun,layer)
 (t¨Šng)  (t¨Šng)  (t¨Šng) (t¨Šng) array ˜q­äťŁĺŻ„ĺ­˜ĺ™?br /> (t¨Šng)  (t¨Šng)  (t¨Šng) (t¨Šng) dom 袍č„P䝣寚čą?br /> (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) pushFun 自定义收集方ćł?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) pushFun(array,node,layer)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) node ˜q­äťŁä¸­ĺŻščą?br /> (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) layer 桹庌
 (t¨Šng) (t¨Šng) (t¨Šng) EG:
 (t¨Šng) (t¨Šng) (t¨Šng) var arr = [] ;
 (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes(
arr ,dom,function(array,node,layer){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arr.push(node);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) },2)
;


 (t¨Šng)  (t¨Šng)  (t¨Šng) (t¨Šng) (t¨Šng)
 (t¨Šng)*/
var (t¨Šng)_request;
try (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
this._request (t¨Šng)= (t¨Šng)new (t¨Šng)XMLHttpRequest();
} (t¨Šng)
catch (t¨Šng)(e) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
try (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
this._request (t¨Šng)= (t¨Šng)new (t¨Šng)ActiveXObject('Msxml2.XMLHTTP');
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
catch (t¨Šng)(e) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
try (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
this._request (t¨Šng)= (t¨Šng)new (t¨Šng)ActiveXObject('Microsoft.XMLHTTP');
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
catch (t¨Šng)(e) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)request (t¨Šng)
= (t¨Šng)false;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
}

var (t¨Šng)AjaxFunction (t¨Šng)= (t¨Šng)function(urls, (t¨Šng)getAjaxText) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction._getAjaxText (t¨Šng)
= (t¨Šng)null;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_url (t¨Šng)
= (t¨Šng)'';
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_params (t¨Šng)
= (t¨Šng)'';

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction._getAjaxText (t¨Šng)
= (t¨Šng)getAjaxText;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)strs (t¨Šng)= (t¨Šng)urls.split(/\?/);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_url (t¨Šng)
= (t¨Šng)strs[0];
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(strs.length (t¨Šng)> (t¨Šng)1)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_params (t¨Šng)
= (t¨Šng)strs[1];

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_request.open(
"POST", (t¨Šng)this._url, (t¨Šng)true);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_request.setRequestHeader(
"Cache-Control", (t¨Šng)"no-cache");
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_request.setRequestHeader(
"content-type",
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
"application/x-www-form-urlencoded");
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_request.send(_params);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)_request.onreadystatechange (t¨Šng)
= (t¨Šng)_onComplete;
};
function (t¨Šng)_onComplete() (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(_request.readyState (t¨Šng)== (t¨Šng)4) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(_request.status (t¨Šng)== (t¨Šng)200 (t¨Šng)|| (t¨Šng)_request.status (t¨Šng)== (t¨Šng)0) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(_request.responseText (t¨Šng)!= (t¨Šng)null (t¨Šng)&& (t¨Šng)_request.responseText (t¨Šng)!= (t¨Šng)''
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
&& (t¨Šng)_request.responseText (t¨Šng)!= (t¨Šng)' (t¨Šng)')
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction._getAjaxText(_request.responseText);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
}

/*
 (t¨Šng)* (t¨Šng)˜q­äťŁÂ (t¨Šng)1. (t¨Šng)array,dom (t¨Šng)2. (t¨Šng)array,dom,layer
 (t¨Šng)
*/
function (t¨Šng)recursiveNodes(array, (t¨Šng)dom, (t¨Šng)pushFun, (t¨Šng)layer) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(layer (t¨Šng)== (t¨Šng)0)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(layer (t¨Šng)> (t¨Šng)0) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
--layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(dom.hasChildNodes (t¨Šng)&& (t¨Šng)dom.hasChildNodes()) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
for (t¨Šng)( (t¨Šng)var (t¨Šng)i (t¨Šng)= (t¨Šng)0; (t¨Šng)i (t¨Šng)< (t¨Šng)dom.childNodes.length; (t¨Šng)i++) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)nodeT (t¨Šng)= (t¨Šng)dom.childNodes.item(i);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(typeof (t¨Šng)pushFun (t¨Šng)== (t¨Šng)"function")
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)pushFun(array,nodeT, (t¨Šng)layer);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
else
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)array.push(nodeT);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)recursiveNodes(array, (t¨Šng)dom.childNodes.item(i), (t¨Šng)pushFun, (t¨Šng)layer);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
else
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
else (t¨Šng)if (t¨Šng)(layer (t¨Šng)< (t¨Šng)0) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
++layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)nodeT (t¨Šng)= (t¨Šng)dom.parentNode;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(nodeT) (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if (t¨Šng)(typeof (t¨Šng)pushFun (t¨Šng)== (t¨Šng)"function") (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)pushFun(array,nodeT, (t¨Šng)layer);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
else (t¨Šng){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)array.push(nodeT);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)recursiveNodes(array, (t¨Šng)dom.parentNode, (t¨Šng)pushFun, (t¨Šng)layer)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)} (t¨Šng)
else
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
return;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
}

function (t¨Šng)formAjax(url,ttform,returnFun){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)datas (t¨Šng)= (t¨Šng)[];
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)arr (t¨Šng)= (t¨Šng)['input','select'];
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)recursiveNodes(datas,ttform,
function(array,node,layer){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
for(var (t¨Šng)i=0;i<arr.length;i++){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if( (t¨Šng)node.getAttribute (t¨Šng)){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
var (t¨Šng)paramName (t¨Šng)= (t¨Šng)node.getAttribute('name') (t¨Šng);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
if( (t¨Šng)/select/i.test( (t¨Šng)node.nodeName (t¨Šng)) (t¨Šng)){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)array.push(paramName
+'='+node.options[node.selectedIndex].value);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
else (t¨Šng)if( (t¨Šng)paramName (t¨Šng)!=null (t¨Šng)&& (t¨Šng) (t¨Šng)/^\s*(\w+)\s*$/g.test(paramName) (t¨Šng)&& (t¨Šng)new (t¨Šng)RegExp(arr[i],'i').test(node.nodeName) (t¨Šng) (t¨Šng)){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)array.push(paramName
+'='+node.value);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)}
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)},
999);
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)
//? (t¨Šng)&#63;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)//& (t¨Šng)&#38;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)var (t¨Šng)urls (t¨Šng)= (t¨Šng)url+'?'+datas.join("&");
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng)AjaxFunction(urls,returnFun);
}






G_G 2008-11-09 18:35 发表评论
]]>
xpath javascripthttp://www.aygfsteel.com/Good-Game/archive/2008/09/24/230975.htmlG_GG_GWed, 24 Sep 2008 11:57:00 GMThttp://www.aygfsteel.com/Good-Game/archive/2008/09/24/230975.htmlhttp://www.aygfsteel.com/Good-Game/comments/230975.htmlhttp://www.aygfsteel.com/Good-Game/archive/2008/09/24/230975.html#Feedback0http://www.aygfsteel.com/Good-Game/comments/commentRss/230975.htmlhttp://www.aygfsteel.com/Good-Game/services/trackbacks/230975.htmlfunction trim(str){ return str.replace(/(^\s*)|(\s*$)/g,""); }

function recursiveNodes(array,dom,layer){
 (t¨Šng) if( layer==0 ) return ;
 (t¨Šng) if(layer>0){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) --layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( dom.hasChildNodes && dom.hasChildNodes() ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) for(var i=0;i<dom.childNodes.length;i++ ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) array.push(dom.childNodes.item(i));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes(array, dom.childNodes.item(i),layer ) ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }else return (t¨Šng) ;
 (t¨Šng) }else if(layer<0){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ++layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( dom.parentNode ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) array.push( dom.parentNode );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes( array,dom.parentNode,layer)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }else return ;
 (t¨Šng) }
}

/*
[@name || && > < >= <= != @location='UK']
*/
function singleStep(dom,stepAction,stepStr){
 (t¨Šng) var allArrData = [] ;
 (t¨Šng) var arrData = [] ;
 (t¨Šng) var num = stepAction.split(/\//).length ;
 (t¨Šng) recursiveNodes(allArrData,dom,num==2?1:999);
 (t¨Šng)
 (t¨Šng) stepStr = trim(stepStr) ;
 (t¨Šng) var nodeName (t¨Šng) ;
 (t¨Šng) var nodeNum ;
 (t¨Šng) var conds = true ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //判断单匹é…?是同ćœ?属性对比Â?[@..=..]
 (t¨Šng) if( /\[(.*?)\]/.test(stepStr) ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) nodeName = trim( /.*?(?=\[{1})/g.exec(stepStr)[0] (t¨Šng) (t¨Šng) ).replace(/\*/g,".*") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = /\[(.*?)\]/.exec(stepStr)[1].replace(/\*/g,".*") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if(! isNaN(conds) ){
 (t¨Šng) (t¨Šng) (t¨Šng) nodeNum = parseInt(conds)-1;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }else{
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //属ć€?替换ä¸?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace(/(@)(.*?)(?=\W)/g," allArrData[i].getAttribute('$2') ") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /([\W]+)(.*?)::\'(.*?)\'/g," $1 /$3/g.test($2) " ) ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /(text\(\))/g ," allArrData[i].innerHTML ") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /([\w\s])(=)/g ,"$2=") ;

 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) }else{
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) nodeName = stepStr ;
 (t¨Šng) }

 (t¨Šng) for(var j=i=0;i<allArrData.length;i++){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( (t¨Šng) eval('/'+nodeName+'/i.test( allArrData[i].nodeName ) ') (t¨Šng) (t¨Šng) ){
 (t¨Šng) (t¨Šng) (t¨Šng) if(typeof nodeNum=="number"){
 (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) if(j==nodeNum){ arrData.push( allArrData[i] ); (t¨Šng) return arrData; }
 (t¨Šng) (t¨Šng) (t¨Šng)  (t¨Šng) else  (t¨Šng) (t¨Šng) (t¨Šng) ++j;
 (t¨Šng) (t¨Šng) (t¨Šng) }else if( eval(' allArrData[i].getAttribute && '+conds) ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrData.push( allArrData[i] );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) }
 (t¨Šng) return arrData ;
}


function getXpath(dom,xpathStr){
 (t¨Šng) (t¨Šng) var xpaths = xpathStr.split(/(\/{1,2})/g);
 (t¨Šng) (t¨Šng) (t¨Šng) var arrDom = [dom] ;
 (t¨Šng) (t¨Šng) for(var i=1;i<xpaths.length;i=i+2){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) var arrData = [];
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) for(var j=0;j<arrDom.length;j++)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrData = arrData.concat( singleStep(arrDom[j],xpaths[i],xpaths[i+1]) );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrDom = arrData ;
 (t¨Šng) (t¨Šng) }
 (t¨Šng) (t¨Šng) return arrDom ;
}

















******************************************************************************************************
function trim(str){ return str.replace(/(^\s*)|(\s*$)/g,""); }

function recursiveNodes(array,dom,layer){
 (t¨Šng) if( layer==0 ) return ;
 (t¨Šng) if(layer>0){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) --layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( dom.hasChildNodes && dom.hasChildNodes() ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) for(var i=0;i<dom.childNodes.length;i++ ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) array.push(dom.childNodes.item(i));
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes(array, dom.childNodes.item(i),layer ) ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }else return (t¨Šng) ;
 (t¨Šng) }else if(layer<0){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) ++layer;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( dom.parentNode ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) array.push( dom.parentNode );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) recursiveNodes( array,dom.parentNode,layer)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }else return ;
 (t¨Šng) }

}



/*
 (t¨Šng) [@name || && > < >= <= != @location='UK']
*/
function singleStep(dom,stepAction,stepStr){
 (t¨Šng) var allArrData = [] ;
 (t¨Šng) var arrData = [] ;
 (t¨Šng) var num = stepAction.split(/\//).length ;
 (t¨Šng) recursiveNodes(allArrData,dom,num==2?1:999);
 (t¨Šng)
 (t¨Šng) stepStr = trim(stepStr) ;
 (t¨Šng) var nodeName (t¨Šng) ;
 (t¨Šng) var conds = true ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //判断单匹é…?是同ćœ?属性对比Â?[@..=..]
 (t¨Šng) if( /\[(.*?)\]/.test(stepStr) ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) nodeName = trim( /^(.*?)\[{1}/.exec(stepStr)[1] ) ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) //属ć€?替换ä¸?
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = /\[(.*?)\]/.exec(stepStr)[1].replace(/(@)(.*?)(?=\W)/g," allArrData[i].getAttribute('$2').toString() ") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /([\W]+)(.*?)::\'(.*?)\'/g," $1 /$3/g.test($2) " ) ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /(text\(\))/g ," allArrData[i].innerHTML ") ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) conds = conds.replace( /([\w\s])(=)/g ,"$2=") ;
 (t¨Šng) }else{
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) nodeName = stepStr ;
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }

 (t¨Šng) for(var i=0;i<allArrData.length;i++){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) if( (t¨Šng) new RegExp(nodeName, 'i').test( allArrData[i].nodeName ) && eval(conds) ){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrData.push( allArrData[i] );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) }
 (t¨Šng) }
 (t¨Šng) return arrData ;
}


function getXpath(dom,xpathStr){
 (t¨Šng) (t¨Šng) var xpaths = xpathStr.split(/(\/{1,2})/g);
 (t¨Šng) (t¨Šng) (t¨Šng) var arrDom = [dom] ;
 (t¨Šng) (t¨Šng) for(var i=1;i<xpaths.length;i=i+2){
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) var arrData = [];
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) for(var j=0;j<arrDom.length;j++)
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrData = arrData.concat( singleStep(arrDom[j],xpaths[i],xpaths[i+1]) );
 (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) (t¨Šng) arrDom = arrData ;
 (t¨Šng) (t¨Šng) }
 (t¨Šng) (t¨Šng) return arrDom ;
}


G_G 2008-09-24 19:57 发表评论
]]>
Ö÷ŐžÖŠÖëłŘÄŁ°ĺŁş °˘łÇĘĐ| ťˇ˝­| áÔĂ÷ĎŘ| ÎŢÎŞĎŘ| ŔźÖÝĘĐ| ÔćŃôĘĐ| ËďÎâĎŘ| ÎßşţĎŘ| şÚşÓĘĐ| ÎĚĹŁĚŘĆě| ÎÚŔźşĆĚŘĘĐ| ËćÖÝĘĐ| şôÂęĎŘ| žĹÁúłÇÇř| ĘźĐËĎŘ| ĐÂŇĘĘĐ| ˝đËţĎŘ| śŤĆ˝ĎŘ| Ç­Î÷| ŇËŃôĎŘ| Çذ˛ĎŘ| şŁÄţĘĐ| ťáŔíĎŘ| ÎÚŔ­ĚŘÖĐĆě| ťÔÄĎĎŘ| ĚŠ°˛ĘĐ| şţÄĎĘĄ| ÖÎśŕĎŘ| ǰšůśű| ŃôłÇĎŘ| ÓŔ´şĎŘ| ÎßşţĘĐ| ŐĐÔśĘĐ| ł¤ˇáĎŘ| ÖÜÄţĎŘ| ĐÂşÓĎŘ| šŽÁôĎŘ| ÓÜÁÖĘĐ| ĆÁÉ˝ĎŘ| ËÉĎŞĎŘ| żĆśű|