posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2008年9月23日


          學(xué)習(xí)就從官方的測(cè)試開始,但不知道怎么回事官方的測(cè)試有問題,這我就把我配置的簡(jiǎn)單junit環(huán)境共享給大家把!
          1.下載 hibernate-annotations-3.4.0.GA 并解壓 ,cd 到解壓后目錄下
          2. $>ant junit (天知道,怎么官方出的東西測(cè)試不能通過(guò)!!)
          ?? 不要急,我們來(lái)看錯(cuò)誤 (錯(cuò)誤提示有刪減)
          ???? 錯(cuò)誤-1:$>build.xml:95: ./jdbc not found.
          ???? 解決辦法-1: $>mkdir ./jdbc
          3.? $>ant junit
          ???? 錯(cuò)誤-2:?
          ????? ./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.
          ???? 解決辦法-2:
          ?????? $>mkdir? ./src/filters ;
          ?????? $>echo "" > ./src/filters/hsqldb.filter;
          4. ? $>ant junit
          ???? 錯(cuò)誤-3:
          ?????? ./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
          ???? 錯(cuò)誤-4:沒有ant 錯(cuò)誤了!,但測(cè)試都為錯(cuò)誤,那我們就看看 第一個(gè)測(cè)試吧,找下原因!
          ???????? 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
          ????? 根據(jù)路徑 org.hibernate.test.annotations.ConfigurationTest
          ????? gvim? ./test/org/hibernate/test/annotations/ConfigurationTest.java
          ????? 發(fā)現(xiàn)第20行: cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );
          ????? 感覺應(yīng)該沒有配置 jdbc
          ????? gvim ./test/org/hibernate/test/annotations/hibernate.cfg.xml? #果然 沒配置
          ????? 我這就放個(gè)我的簡(jiǎn)單配置上來(lái)(使用 hbm hsqldb 內(nèi)存數(shù)據(jù)庫(kù)測(cè) 試 ):
          <!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吧,既然上面錯(cuò)誤1有 jdbc 文件夾,那就是放 jdbc jar 的地方
          ????? $> cp ../hsqldb.jar? ./jdbc
          ???
          6. ? $>ant junit
          ???? 呵呵 測(cè)試 第一個(gè)正確了 ! (目前配置后,測(cè)試環(huán)境并不是全部都正確,比如第2個(gè)測(cè)試)
          ???? 其他測(cè)試錯(cuò)誤日志在??? .\build\test-reports\hsqldb ...
          ???? 比如第2個(gè)錯(cuò)誤 異常部分
          ????? 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)
          ??????? ........ 大家一邊學(xué)習(xí),一邊配置測(cè)試 環(huán)境吧。
          ??? 錯(cuò)誤日記 都會(huì)在 build\test-reports\hsqldb下

          posted @ 2009-04-14 11:30 G_G 閱讀(1676) | 評(píng)論 (0)編輯 收藏


          參考:
          http://tech.ddvip.com/2008-12/122835390597191.html


          頁(yè)面可以直接運(yùn)行:
          <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>

          posted @ 2009-02-24 16:46 G_G 閱讀(1996) | 評(píng)論 (0)編輯 收藏

          javascript 學(xué)習(xí)
          ?? ? ? javascript 大體上可分為3個(gè)不同部分組成: 核心(ECMAscript),文本對(duì)象(DOM),瀏覽器對(duì)象(BOM)
            1. ?核心(ECMAscript): 關(guān)鍵字,語(yǔ)句,運(yùn)算符,對(duì)象
            2. 文本對(duì)象(DOM):DOM將把整個(gè)頁(yè)面規(guī)劃成由節(jié)點(diǎn)層級(jí)構(gòu)成的文檔.
              1. 解析遵循 W3C html dom 標(biāo)準(zhǔn)
              2. ? W3C dom 參考特別關(guān)注 DOM Node 說(shuō)明???
            3. BOM 瀏覽器對(duì)象.? cookie,彈出新瀏覽器,瀏覽器設(shè)置大小
          ?
          核心(ECMAscript)Global 內(nèi)置對(duì)象;
          ????? 方法: parseInt(),isNan(),encodeURI()...等都為此對(duì)象方法
          ????? 特別注意 eval();動(dòng)態(tài)語(yǔ)言的象征 比如:eval("alert('hi')"); 但這個(gè)方法很邪惡(安全方面)
          文本對(duì)象(DOM)說(shuō)明:
          ?? ??? ?
          <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基礎(chǔ)

          ?????? $ 變量弱類型 ; ??? 匈牙利類型標(biāo)示 : var iOuouValue=100;?

          ?????? $ 結(jié)束行分號(hào)有無(wú)都可以; ??? 但再 onsubmit="javascript:function();return false;"

          ?????? $ 關(guān)鍵字 ; 提別注意

          ??????????????? "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"?

          ?????? $ 對(duì)象; var o = new Object(); var a = {}?

          ?? ??? ??? ??? ?這里特別說(shuō)明下 我們普通寫的 一個(gè) function 就是一個(gè) object?

          ?? ??? ??? ?? 這?? var a = {name:"劉凱毅"} 等同與 var a = function(){this.name="劉凱毅"};

          ?? ??? ??? ??? ???? 來(lái)個(gè) {name:"test",pass:"123456",addr:"bj"} //這是什么 ?! json

          ?? ??? ??? ???????? 當(dāng) var str = '{name:"test",pass:"123456",addr:"bj"}'

          ?? ??? ??? ??? ???? var objectBean = eval(str); //這里就是 對(duì)象 objectBea.name 使用了

          ? 域概念:

          <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ū)ο笞龌A(chǔ):object prototype 類型的對(duì)象應(yīng)用。參考

          // 最簡(jiǎn)單的 繼承
          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
          //增加點(diǎn)信心 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



          ?? $ 語(yǔ)句 ;特殊說(shuō)明下 for?

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

          ?????????? 如果無(wú)聊 你可以 for( sProp in window ){alert(sProp+"你丫點(diǎn)啊!");} //看看 javascript 的反射

          ??????????????

          ? ? ? ? ? ? ? ??

          ???


          面向?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 ;

          ??????????? }

          ?? ???? 根本就是山寨版 面向?qū)ο?br />

          ? 2.構(gòu)造

          ????? ??? function Bean(tattr){

          ?? ??? ?????? this.attr = tattr ;

          ?? ??? ??? ?? bean.getAttr = function(){

          ?? ??? ??? ?????alert(this.attr);

          ?? ??? ??? ? ?} ? ?

          ?? ??? ???}

          ?? 其上 2 總 再Bean 對(duì)象創(chuàng)建時(shí),方法會(huì) “重復(fù)生成函數(shù)”!


          ? 3.原型模式

          ??? function Bean(){}

          ??? Bean.prototype.attr = "";

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

          ?? ?

          ?? 解決 “重復(fù)生成函數(shù)” 問題,但新的問題 Bean.prototype.getArray = new Array();


          ?? 其 new 對(duì)象 bean1 和 bean2 都會(huì)共享 new Array 空間(是我們不想看到的)


          ? 4.混合 模型 :)? 哈哈

          ???? function Bean(){

          ?? ??? ?this.attr= "";

          ?? ??? ?this.getArray=new Array;

          ?? ?}

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

          ?

          ? 5.動(dòng)態(tài)原型 (注意下面開始,就是真正的面向?qū)ο?/span>!!!)

          ?? ??? function Bean(){

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

          ?? ???? //classload 加載 時(shí)

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

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

          ?? ???? ??? Bean._initialized= true ;

          ?? ??? ?}

          ???? }

          ???

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

          對(duì)象繼承

          ? 1.對(duì)象冒充!!(可支持多繼承,山寨很強(qiáng)大)

          ????? 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.正統(tǒng)的繼承 原型鏈 (但不支持多繼承)
          ??? 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.如果你要多繼承!!并且還支持 instanceof
          ?? ???? 混合方式:
          ?? ???? function classA(){}
          ?? ???? function classB(){}
          ?? ???? function classC(){
          ?? ??? ???? classA.call(this);
          ?? ??? ???? classC.call(this);
          ?? ??? ?}
          ?? ???? classC.prototype = new classA ;//注意 這
          instanceof 只能對(duì) A有用

          ?? ??? ?






          ???

          posted @ 2009-02-12 11:56 G_G 閱讀(1842) | 評(píng)論 (2)編輯 收藏



          下載:flash-plugin-10.0.15.3-release.i386.rpm

          ?rpm -ivh flash-plugin-10.0.15.3-release.i386.rpm

          posted @ 2009-01-12 23:39 G_G 閱讀(747) | 評(píng)論 (0)編輯 收藏


          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="/"? />

          。。。。


          關(guān)鍵:在Context上不要加reloadable和debug屬性
          ?然后 使用eclipse tomcat 調(diào)試
          ok

          posted @ 2008-12-26 17:52 G_G 閱讀(536) | 評(píng)論 (0)編輯 收藏


          <? 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/?文件?上載/覆蓋" >
          ????????
          < input? addproperty ="scp_coverage_shell_file"
          ????????????message
          ="輸入(ssh/?下文件名?\n\r?上載或覆蓋?到服務(wù)器?218?${ssh.path}?):" >
          ????????
          </ input >
          ????????
          < input
          ????????????
          message ="請(qǐng)確定是否使用?ssh/${scp_coverage_shell_file}?覆蓋服務(wù)器中?${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" > 退出 </ 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/?文件查看" >
          ????????
          < input? addproperty ="show_shell_file" ?message ="輸入查看文件名(*sh):"
          ????????????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/?文件拷貝" >
          ????????
          < input? addproperty ="scp_shell_file"
          ????????????message
          ="輸入?/data/meganotes/shell/?下需要文件名(cp?到?ssh?下):" >
          ????????
          </ 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-mvn組合操作" >
          ????????
          < 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沒轉(zhuǎn)128-64文件夾" >
          ????????
          < 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模塊測(cè)試" >
          ????????
          < input? addproperty ="admin_test_input"
          ????????????message
          ="測(cè)試類輸入(Video*Test):" ?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 >

          posted @ 2008-12-24 16:24 G_G 閱讀(6392) | 評(píng)論 (3)編輯 收藏





          ???? 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();
          ????????}

          ??????}


          posted @ 2008-12-22 14:35 G_G 閱讀(3623) | 評(píng)論 (0)編輯 收藏



          官方上下
          http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

          $.補(bǔ)全中文? 修改
          ??? jquery.autocomplete.js 中
          ??? $input.bind(($.browser.opera ? "keypress" : "keydown")
          ??? 改為
          ??? $input.bind(($.browser.opera ? "keypress" : "keyup")
          ????
          $. 在 localdata.js 》》 var cities = [..?
          ?? 中放些 中文 測(cè)試吧


          測(cè)試頁(yè)面 ,最簡(jiǎn)單的使用頁(yè)面 。(應(yīng)該算是最簡(jiǎn)單補(bǔ)全測(cè)試了)
          <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",
          ????
          "測(cè)試1",
          ???????
          "測(cè)試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,?{
          ????????
          //補(bǔ)全中選擇顯示
          ????????formatItem:?function(row,?i,?max)?{
          ????????????
          return?i?+?"/"?+?max?+?":?\""?+?row.name?+?"\"?["?+?row.to?+?"]";
          ????????????},
          ????????
          //補(bǔ)全匹配格式
          ????????formatMatch:?function(row,?i,?max)?{
          ????????????
          return?row.name?;
          ????????????},
          ????????
          //補(bǔ)全選定后顯示
          ????????formatResult:?function(row)?{
          ????????????
          return?row.to;
          ????????}
          ????})
          });
          </script>




          posted @ 2008-12-13 09:41 G_G 閱讀(1114) | 評(píng)論 (1)編輯 收藏

          不要為 拼寫 ajax url 而郁悶了。希望能對(duì)大家有幫助。

          /*?
          ??? 1.form?ajax?使用:
          ????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?使用???:
          ????AjaxFunction
          ????????AjaxFunction('url?param=tt&param2=te',function(text){??
          ????????????alert(text);
          ????????});

          ??? 3.迭代器:

          ??? recursiveNodes(array,dom,pushFun,layer)
          ? ? ?? array 迭代寄存器
          ? ? ?? dom 被迭代對(duì)象
          ?????? pushFun 自定義收集方法
          ??????????? pushFun(array,node,layer)
          ?????????????? node 迭代中對(duì)象
          ?????? 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);
          ????????}
          ????}
          }

          /*
          ?*?迭代?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);
          }




          posted @ 2008-11-09 18:35 G_G 閱讀(1821) | 評(píng)論 (0)編輯 收藏


          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 nodeNum ;
          ? var conds = true ;
          ???? //判斷單匹配 是否有 屬性對(duì)比? [@..=..]
          ? 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 ;
          ???? //判斷單匹配 是否有 屬性對(duì)比? [@..=..]
          ? 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 ;
          }

          posted @ 2008-09-24 19:57 G_G 閱讀(514) | 評(píng)論 (0)編輯 收藏


          Python is a dynamic object-oriented programming language that can be used for many kinds of software development.

          It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days.
          offers 提出
          integration 綜合
          extensive 寬廣
          standard libraries 標(biāo)準(zhǔn)庫(kù)


          Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
          report 宣告
          substantial 實(shí)質(zhì)
          productivity 生產(chǎn)力

          posted @ 2008-09-23 09:56 G_G 閱讀(201) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 三穗县| 黑水县| 稷山县| 定西市| 渝中区| 基隆市| 惠水县| 天水市| 米泉市| 大新县| 建水县| 遂平县| 抚远县| 沧源| 锦屏县| 永昌县| 乐陵市| 阿拉善左旗| 贵定县| 高碑店市| 霍邱县| 海盐县| 阳泉市| 衡山县| 康马县| 历史| 安泽县| 兰溪市| 广东省| 阿瓦提县| 梨树县| 郎溪县| 色达县| 龙州县| 甘洛县| 岳阳市| 寿光市| 辉县市| 宝应县| 五台县| 尼勒克县|