??xml version="1.0" encoding="utf-8" standalone="yes"?>**网站欧美大片在线观看,欧美最猛性xxxx,日韩一区二区中文字幕http://www.aygfsteel.com/Good-Game/zh-cnFri, 16 May 2025 23:32:30 GMTFri, 16 May 2025 23:32:30 GMT60hbn-annotations学习-不求?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学习׃官方的测试开始,但不知道怎么回事官方的测试有问题Q这我就把我配置的简单junit环境׃nl大家把Q?br />1.下蝲 hibernate-annotations-3.4.0.GA q解?,cd 到解压后目录?br />2. $>ant junit Q天知道Q怎么官方出的东西试不能通过Q!Q?br />   不要急,我们来看错误 (错误提示有删?
     错误-1Q?>build.xml:95: ./jdbc not found.
     解决办法-1Q?$>mkdir ./jdbc
3.  $>ant junit
     错误-2Q?
      ./build.xml:124: The following error occurred while executing this line:
      ./build.xml:126: The following error occurred while executing this line:
      ./common-build.xml:349: .\src\filters\hsqldb.filter as it doesn't exist.
     解决办法-2Q?br />       $>mkdir  ./src/filters ;
       $>echo "" > ./src/filters/hsqldb.filter;
4.   $>ant junit
     错误-3Q?br />       ./build.xml:124: The following error occurred while executing this line:
       ./build.xml:126: The following error occurred while executing this line:
       ./common-build.xml:351: .\src\test-resources not found.
      $>mkdir  ./src/test-resources ;
5.   $>ant junit
     错误-4Q没有ant 错误了!Q但试都ؓ错误Q那我们q?W一个测试吧Q找下原因!
         test-resources:
          [mkdir] Created dir: hibernate-anntations-3.4.0.GA\build\test-reports\hsqldb
          [echo] Running against db: hsqldb
          [junit] Running org.hibernate.test.annotations.ConfigurationTest
          [junit] Tests run: 7, Failures: 0, Errors: 6, Time elapsed: 1.218 sec
          .............
     $>find . -name "ConfigurationTest.java"  #pwd /hibernate-anntations-3.4.0.GA
        ./test/org/hibernate/test/annotations/configuration/ConfigurationTest.java
        ./test/org/hibernate/test/annotations/ConfigurationTest.java
      Ҏ路径 org.hibernate.test.annotations.ConfigurationTest
      gvim  ./test/org/hibernate/test/annotations/ConfigurationTest.java
      发现W?0? cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );
      感觉应该没有配置 jdbc
      gvim ./test/org/hibernate/test/annotations/hibernate.cfg.xml  #果然 没配|?br />      我这放个我的简单配|上?使用 hbm hsqldb 内存数据库测 ?)Q?br />
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<hibernate-configuration>
  
<session-factory>
        
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
        
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        
<property name="connection.url">jdbc:hsqldb:mem:hbn_ann</property>
        
<property name="connection.username">sa</property>
        
<property name="connection.password"></property>
   
        
<mapping resource="org/hibernate/test/annotations/Boat.hbm.xml"/>
        
<mapping package="org.hibernate.test.annotations"/>
        
<mapping class="org.hibernate.test.annotations.Plane"/>
  
</session-factory>
</hibernate-configuration>


      我这是要hsqldb吧,既然上面错误1?jdbc 文g夹,那就是放 jdbc jar 的地?
      $> cp ../hsqldb.jar  ./jdbc
   
6.   $>ant junit
     呵呵 试 W一个正了 Q?Q目前配|后Q测试环境ƈ不是全部都正,比如W?个测试)
     其他试错误日志在  ?.\build\test-reports\hsqldb ...
     比如W?个错?异常部分
      org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
    at org.hibernate.dialect.Dialect.instantiateDialect(Dialect.java:256)
    at org.hibernate.dialect.Dialect.getDialect(Dialect.java:234)
        ........ 大家一边学习,一辚w|测?环境吧?br />    错误日记 都会?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参考:
http://tech.ddvip.com/2008-12/122835390597191.html


面可以直接q行Q?br />
<html>
<head>

<style type="text/css">

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


</style>

</head>

<body>

    
<div class="box1" 
        onmouseover
="this.style.backgroundPosition='0px -81px' " 
        onmouseout
="this.style.backgroundPosition='0px -102px' "    
    
>
    
</div>

</body>

</html>



G_G 2009-02-24 16:46 发表评论
]]>
javascript 基础ȝQ面向对象)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 学习
       javascript 大体上可分ؓ3个不同部分组成: 核心QECMAscriptQ?文本对象(DOM),览器对?BOM)
    1.  核心QECMAscriptQ: 关键字,语句Q运符Q对?br />
    2. 文本对象(DOM)QDOM把整个面规划成由节点层构成的文?
      1. 解析遵@ W3C html dom 标准Q?/font>
      2.   W3C dom DOM Node 说明   
    3. BOM 览器对?  cookie,弹出新浏览器Q浏览器讄大小
 
核心QECMAscriptQGlobal 内置对象Q?br />       ҎQ?parseInt(),isNan(),encodeURI()...{都为此对象Ҏ
      特别注意 eval();动态语a的象?比如Qeval("alert('hi')"); 但这个方法很邪恶Q安全方面)
文本对象(DOM)说明Q?br />
        
<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

              


     

  1. ECMAscript基础

       $ 变量q?;     匈牙利类型标C?: var iOuouValue=100; 

       $ l束行分h无都可以;     但再 onsubmit="javascript:function();return false;"

       $ 关键?; 提别注意

                "constructor" bean.constructor

                     //print bean function(){

                          ....

                      }

                "typeof"   var test=1; alert(typeof testX); //output "undefined"

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

       $ 对象; var o = new Object(); var a = {} 

                q里特别说明?我们普通写?一?function 是一?object 

              q ?var a = {name:"刘凯?} {同?var a = function(){this.name="刘凯?font size="4">"};

                    来个 {name:"test",pass:"123456",addr:"bj"} //q是什?Q! json

                    ?var str = '{name:"test",pass:"123456",addr:"bj"}'

                    var objectBean = eval(str); //q里是 对象 objectBea.name 使用?/font>

  域概念:

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

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

          

为面向对象做基础Q?/b>object prototype cd的对象应用?a id="vgou" title="参?>参?/a>

// 最单的 l承
Object.prototype.inObj = 1;

function A()
{
    this.inA = 2;
}
 
A.prototype.inAProto = 3;
 
B.prototype = new A;            // Hook up A into B's prototype chain
B.prototype.constructor = B;
function B()
{
    this.inB = 4;
}
 
B.prototype.inBProto = 5;
 
x = new B;
document.write(x.inObj + ', ' + x.inA + ', ' + x.inAProto + ', ' + x.inB + ', ' + 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()不是吗?

    $ arguments ;

         function getFun(){alert(arguments.length);}   ;

 

                getFun("xx") //output 1

                getFun("xx",23) //output 2



   $ 语句 ;Ҏ说明?for 

           for(var i=0i<iCount;i++)   ?for( attr in object ) ;

           如果无聊 你可?for( sProp in window ){alert(sProp+"你丫点啊Q?);} //看看 javascript 的反?br />

              

                

   


面向对象Q?/b>

  var bean = new Bean();

  

  1.工厂Ҏ

            function getAttr(){

                 alert(this.attr)

            }

            function Bean(tattr){

                var bean = new Object;

                bean.attr = tattr;

                bean.getAttr = getAttr;

                return bean ;

            }

        Ҏ是山寨?面向对象

  2.构?/b>

          function Bean(tattr){

              this.attr = tattr ;

              bean.getAttr = function(){

                alert(this.attr);

              }    

          }

   其上 2 ?再Bean 对象创徏ӞҎ?“重复生成函数”!


  3.原型模式

    function Bean(){}

    Bean.prototype.attr = "";

    Bean.prototype.getAttr=function(){alert(this.attr);}

    

   解决 “重复生成函数?问题Q但新的问题 Bean.prototype.getArray = new Array();


   ?new 对象 bean1 ?bean2 都会׃n new Array I间(是我们不想看到的)


  4.混合 模型 :)  哈哈

     function Bean(){

        this.attr= "";

        this.getArray=new Array;

    }

    Bean.prototype.getAttr=function(){alert(this.attr);}

 

  5.动态原?Q注意下面开始,是真正的面向对?/span>Q!Q)

       function Bean(){

        this.attr= "";
        this.getArray=new Array;

        //classload 加蝲 ?br />

        if(typeof Bean._initialized == "undefined" ){

            Bean.prototype.getAttr=function(){alert(this.attr);};

            Bean._initialized= true ;

        }

     }

   

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

对象l承

  1.对象冒充Q!(可支持多l承Q山寨很强大)

      function classA(sstr){

        this.color = sstr ;

        this.sayColor = function(){

            alert(this.color);

        };

      }

      function classC(){}

       function classB(){

            this.newMethod =ClassA ;

            this.newMethod();

            delete this.newMethod ;


            this.newMethod =ClassC ;

            this.newMethod();

            delete this.newMethod ;

           

            this.arrt = "google";

        }

    

  2.call() apply() 也山?

      function classA(sstr){

        this.color = sstr ;

        this.sayColor = function(str){

            alert(str+this.color);

        };

      }

       function classB(){

           // this.newMethod =ClassA ;

           // this.newMethod();

           // delete this.newMethod ;

            classA.call(this,"red");

            //classA.apply(this,new Array("red"))

            this.arrt = "baidu";

       }


3.正统的?原型?/b> (但不支持多?
    function classA(){this.oo="test";}
    classA.prototype.color = "red";
    function classB(){}
    classB.prototype = new classA ;
    classB.prototype.sayName = function(){
        alert( this.color );
    }
    
var bb = new classB ;
    bb.sayName();
// output red
    
alert(bb.oo); // output test

    alert( bb instanceof classA); //output true
    alert( bb instanceof classB); //output  true

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

        






   



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
下蝲Qflash-plugin-10.0.15.3-release.i386.rpm

 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

      <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

  <Context docBase="D:/workspace/meganotes/mn_mod_admin/target/mn_mod_admin/" path="/"  />

。。。?br />

关键Q在Context上不要加reloadable和debug属?
 然后 使用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 version="1.0" encoding="UTF-8" ?>
< project  name ="ssh" >
    
< property  file ="ssh.properties"   />
    
< tstamp >
        
< format  property ="TODAY"  pattern ="yyyyMMddHHmm"   />
    
</ tstamp >
    
< property  name ="ssh.path"  value ="/data/meganotes/shell/"   />


    
< target  name ="shell/ 文g 上蝲/覆盖" >
        
< input  addproperty ="scp_coverage_shell_file"
            message
="输入Qssh/ 下文件名 \n\r 上蝲或覆盖 到服务器?18 ${ssh.path} )Q? >
        
</ input >
        
< input
            
message ="L定是否用 ssh/${scp_coverage_shell_file} 覆盖服务器中 ${ssh.host}:${ssh.path}${scp_coverage_shell_file} (y,n)"
            validargs
="y,n"  addproperty ="do.coverage"  defaultvalue ="n"   />
        
< condition  property ="do.abort" >
            
< equals  arg1 ="n"  arg2 ="${do.coverage}"   />
        
</ condition >
        
< fail  if ="do.abort" > 退?/span> </ fail >

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

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

    
< target  name ="shell/ 文g查看" >
        
< input  addproperty ="show_shell_file"  message ="输入查看文g名(*shQ:"
            defaultvalue
="*" >
        
</ input >
        
< sshexec  host ="${ssh.host}"  username ="${ssh.myName}"
            password
="${ssh.myPass}"  trust ="true"
            command
="ls  /data/meganotes/shell/${show_shell_file}" >
        
</ sshexec >
    
</ target >

    
< target  name ="shell/ 文g拯" >
        
< input  addproperty ="scp_shell_file"
            message
="输入 /data/meganotes/shell/ 下需要文件名Qcp 刊Wssh 下)Q? >
        
</ input >
        
< scp
            
file ="${ssh.myName}:${ssh.myPass}@${ssh.host}:/data/meganotes/shell/${scp_shell_file}"
            todir
="ssh"  trust ="true"  verbose ="true"   />
    
</ target >



    
< target  name ="admin-mvnl合操作" >
        
< exec  executable ="cmd" >
            
< arg  value ="/c"   />
            
< arg  value ="${basedir}/sh/mvn/meganotes_mvn_clear.bat"   />
        
</ exec >
        
< exec  executable ="cmd" >
            
< arg  value ="/c"   />
            
< arg  value ="${basedir}/sh/mvn/meganotes_mvn_install.bat"   />
        
</ exec >
        
< exec  executable ="cmd" >
            
< arg  value ="/c"   />
            
< arg  value ="${basedir}/sh/mvn/mn_mod_admin_mvn_intall.bat"   />
        
</ exec >
    
</ target >


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

    
< target  name ="schedule-tomcat日志" >
        
< sshexec  host ="${ssh.host}"  username ="${ssh.myName}"
            password
="${ssh.myPass}"  trust ="true"
            command
="${ssh.scheduleRunLog}" >
        
</ sshexec >
    
</ target >
    
< target  name ="查找2008/下Mp3没{128-64文g? >
        
< sshexec  host ="${ssh.host}"  username ="${ssh.myName}"
            password
="${ssh.myPass}"  trust ="true"  command ="${ssh.64k}" >
        
</ sshexec >
        
< sshexec  host ="${ssh.host}"  username ="${ssh.myName}"
            password
="${ssh.myPass}"  trust ="true"  command ="${ssh.128k}" >
        
</ sshexec >
        
< sshexec  host ="${ssh.host}"  username ="${ssh.myName}"
            password
="${ssh.myPass}"  trust ="true"
            command
="${ssh.128kto64k.err}" >
        
</ sshexec >
    
</ target >

    
< target  name ="admin模块试" >
        
< input  addproperty ="admin_test_input"
            message
="试c输入(Video*TestQ:"  defaultvalue ="*Test" >
        
</ input >
        
< echo  message ="${admin_test_input}" ></ echo >
        
< exec  executable ="cmd" >
            
< arg  value ="/c"   />
            
< arg
                
value ="${basedir}/sh/admin_test.bat ${admin_test_input} "   />
        
</ exec >
    
</ 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


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

      }




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/

$.补全中文  修改
    jquery.autocomplete.js ?br />    $input.bind(($.browser.opera ? "keypress" : "keydown")
    改ؓ
    $input.bind(($.browser.opera ? "keypress" : "keyup")
    
$. ?localdata.js 》?var cities = [.. 
   中放?中文 试?


试面 Q最单的使用面 。(应该是最单补全测试了Q?br />
<script type="text/javascript" src="../lib/jquery.js"></script>
<script type='text/javascript' src='../jquery.autocomplete.js'></script>

<link rel="stylesheet" type="text/css" href="../jquery.autocomplete.css" />
<script type="text/javascript">
$().ready(
function() {
    $(
"#suggest1").autocomplete([
    
"test1",
    
"test2",
    
"试1",
       
"试2"
    ]);
});
</script>

<input type="text" id="suggest1" />



使用json

<script type="text/javascript" src="../lib/jquery.js"></script>
<script type='text/javascript' src='../jquery.autocomplete.js'></script>

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


$().ready(
function() {
        $(
"#suggest13").autocomplete(emails, {
        
//补全中选择昄
        formatItem: function(row, i, max) {
            
return i + "/" + max + ": \"" + row.name + "\" [" + row.to + "]";
            },
        
//补全匚w格式
        formatMatch: function(row, i, max) {
            
return row.name ;
            },
        
//补全选定后显C?/span>
        formatResult: function(row) {
            
return row.to;
        }
    })
});
</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
/* 
    1.form ajax 使用Q?/b>
    eG:
form是普通的 html form
        <input type="button" value="xx" onclick="formAjax('data.jsp',this.form,ajaxReturn)"/>
        function ajaxReturn(data){
            document.getElementById("div1").innerHTML =  data ;
        }
  
    
    2.ajax 使用   Q?/b>
    AjaxFunction
        AjaxFunction('url?param=tt&param2=te',function(text){  
            alert(text);
        });

    3.q代器:

    recursiveNodes(array,dom,pushFun,layer)
       array q代寄存?br />       dom 被P代对?br />       pushFun 自定义收集方?
            pushFun(array,node,layer)
               node q代中对?br />       layer 深度
    EG:
    var arr = [] ;
    recursiveNodes(
arr ,dom,function(array,node,layer){
            arr.push(node);
     },2)
;


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

var AjaxFunction = function(urls, getAjaxText) {
    AjaxFunction._getAjaxText 
= null;

    _url 
= '';
    _params 
= '';

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

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

/*
 * q代 1. array,dom 2. array,dom,layer
 
*/
function recursiveNodes(array, dom, pushFun, layer) {
    
if (layer == 0)
        
return;
    
if (layer > 0) {
        
--layer;
        
if (dom.hasChildNodes && dom.hasChildNodes()) {
            
for ( var i = 0; i < dom.childNodes.length; i++) {
                
var nodeT = dom.childNodes.item(i);
                
if (typeof pushFun == "function")
                    pushFun(array,nodeT, layer);
                
else
                    array.push(nodeT);
                recursiveNodes(array, dom.childNodes.item(i), pushFun, layer);
            }
        } 
else
            
return;
    } 
else if (layer < 0) {
        
++layer;
        
var nodeT = dom.parentNode;
        
if (nodeT) {
            
if (typeof pushFun == "function") {
                pushFun(array,nodeT, layer);
            } 
else {
                array.push(nodeT);
            }
            recursiveNodes(array, dom.parentNode, pushFun, layer)
        } 
else
            
return;
    }
}

function formAjax(url,ttform,returnFun){
    
var datas = [];
    
var arr = ['input','select'];
    recursiveNodes(datas,ttform,
function(array,node,layer){
        
for(var i=0;i<arr.length;i++){
            
if( node.getAttribute ){
                
var paramName = node.getAttribute('name') ;
                
if/select/i.test( node.nodeName ) ){
                    array.push(paramName
+'='+node.options[node.selectedIndex].value);
                }
else if( paramName !=null &&  /^\s*(\w+)\s*$/g.test(paramName) && new RegExp(arr[i],'i').test(node.nodeName)  ){
                    array.push(paramName
+'='+node.value);
                }
            }
        }
    },
999);
    
//? &#63;
    //& &#38;
    var urls = url+'?'+datas.join("&");
    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){
  if( layer==0 ) return ;
  if(layer>0){
     --layer;
     if( dom.hasChildNodes && dom.hasChildNodes() ){
       for(var i=0;i<dom.childNodes.length;i++ ){
      array.push(dom.childNodes.item(i));
          recursiveNodes(array, dom.childNodes.item(i),layer ) ;
       }
     }else return  ;
  }else if(layer<0){
     ++layer;
     if( dom.parentNode ){
           array.push( dom.parentNode );
           recursiveNodes( array,dom.parentNode,layer)
     }else return ;
  }
}

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

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

      }
  }else{
      nodeName = stepStr ;
  }

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


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

















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

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

}



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

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


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


G_G 2008-09-24 19:57 发表评论
]]>
վ֩ģ壺 ԫ| | ̨| | | ״| | Ӣɳ| | ԰| ʯ| ͬ| ˮ| | | | | Դ| | ˷| ԰| ȷ| ɽ| Ϫ| | | ٳ| ־| ض| ̫| ƽ| | н| ƽ| Ϻ| | ԭ| | | Ͻ| ƶ|