中文 => English   |   English => 中文
          posts - 12, comments - 2, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2008年9月20日

          js:
          當(dāng)窗口關(guān)閉前做的動作
          function  window.onbeforeunload(){
             
          }

          在JS中定義數(shù)組刪除方法
          <script language=javascript>
          Array.prototype.del=function(n) {  //n表示第幾項(xiàng),從0開始算起。
          //prototype為對象原型,注意這里為對象增加自定義方法的方法。
            if(n<0)  //如果n<0,則不進(jìn)行任何操作。
              return this;
            else
              return this.slice(0,n).concat(this.slice(n+1,this.length));
              /*
                concat方法:返回一個(gè)新數(shù)組,這個(gè)新數(shù)組是由兩個(gè)或更多數(shù)組組合而成的。
                      這里就是返回this.slice(0,n)/this.slice(n+1,this.length)
                     組成的新數(shù)組,這中間,剛好少了第n項(xiàng)。
                slice方法: 返回一個(gè)數(shù)組的一段,兩個(gè)參數(shù),分別指定開始和結(jié)束的位置。
              */
          }
          //我們來試一試這個(gè)自己增加的方法
          var test=new Array(0,1,2,3,4,5);
          test=test.del(3);  //從0算起,這里也就是刪除第4項(xiàng)。
          alert(test);
          </script>

           

          jquery:
          賦值:$("#tmidtemp").attr("value","XXXXX")
          得到值:$("#tmidtemp").attr("value")


          dwr:
          解析map結(jié)構(gòu)數(shù)據(jù):
          function built_trademark_left(data){
             var bar = document.getElementById('s1');
             var optionitems="";
           for(var property in data){  
                  optionitems+="<option value='"+property+"'>"+data[property]+"</option>"; //property是key;data[property]是值
               }
               $(optionitems).appendTo(bar);
               data=null;
          }

          css:
          背景顏色漸變:
          background:;filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#FFD922);

          hibernate 用sql查詢
           SQLQuery 在調(diào)用list()方法前要加addEntity(XX,XX) 或者 addScalar(XX,XX) 方法。
           
          例如:
                String sql = "select {tll.*},(select t.appn_no      from Trademark t where t.id = tll.tmid) as appn_no,"
              +"(select t.tm_type      from Trademark t where t.id = tll.tmid) as tm_type,"
              +"(select l.ref_no       from licenagre l where l.id = tll.laid)   as ref_no,"
              +"(select l.tm_licensor  from licenagre l where l.id = tll.laid)   as tm_licensor "
              +"from tmLnkLa tll";
            SQLQuery sqlQuery = dao.getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(sql);
            sqlQuery.addEntity("tll", TmLnkLa.class);
            sqlQuery.addScalar("appn_no", Hibernate.STRING);
            sqlQuery.addScalar("tm_type", Hibernate.STRING);
            sqlQuery.addScalar("ref_no", Hibernate.STRING);
            sqlQuery.addScalar("tm_licensor", Hibernate.STRING);
            List list = sqlQuery.list();
          在多表查詢中,為避免字段同名問題,需要加 {XXX}  如上例中的 {tll.*},否則會出現(xiàn)類似: Invalid column name: id0_  的錯(cuò)誤

          posted @ 2008-11-24 14:55 牛X書記 閱讀(347) | 評論 (0)編輯 收藏

            1.   oncontextmenu="window.event.returnValue=false"   將徹底屏蔽鼠標(biāo)右鍵  
            <table   border   oncontextmenu=return(false)><td>no</table>   可用于Table  
             
            2.   <body   onselectstart="return   false">   取消選取、防止復(fù)制  
             
            3.   onpaste="return   false"   不準(zhǔn)粘貼  
             
            4.   oncopy="return   false;"   oncut="return   false;"   防止復(fù)制  
             
            5.   <link   rel="Shortcut   Icon"   href="favicon.ico">   IE地址欄前換成自己的圖標(biāo)  
             
            6.   <link   rel="Bookmark"   href="favicon.ico">   可以在收藏夾中顯示出你的圖標(biāo)  
             
            7.   <input   style="ime-mode:disabled">   關(guān)閉輸入法  
             
            8.   永遠(yuǎn)都會帶著框架  
            <script   language="JavaScript"><!--  
            if   (window   ==   top)top.location.href   =   "frames.htm";   //frames.htm為框架網(wǎng)頁  
            //   --></script>  
             
            9.   防止被人frame  
            <SCRIPT   LANGUAGE=JAVASCRIPT><!--    
            if   (top.location   !=   self.location)top.location=self.location;  
            //   --></SCRIPT>  
             
            10.   網(wǎng)頁將不能被另存為  
            <noscript><iframe   src="/blog/*.html>";</iframe></noscript>    
             
            11.   <input   type=button   value=查看網(wǎng)頁源代碼    
            onclick="window.location   =   "view-source:"+   "http://www.williamlong.info"">  
             
            12.刪除時(shí)確認(rèn)  
            <a   href="javascript:if(confirm("確實(shí)要刪除嗎?"))location="boos.asp?&areyou=刪除&page=1"">刪除</a>    
             
            13.   取得控件的絕對位置  
            //Javascript  
            <script   language="Javascript">  
            function   getIE(e){  
            var   t=e.offsetTop;  
            var   l=e.offsetLeft;  
            while(e=e.offsetParent)  
            alert("top="+t+"/nleft="+l);  
            }  
            </script>  
             
            //VBScript  
            <script   language="VBScript"><!--  
            function   getIE()  
            dim   t,l,a,b  
            set   a=document.all.img1  
            t=document.all.img1.offsetTop  
            l=document.all.img1.offsetLeft  
            while   a.tagName<>"BODY"  
            set   a   =   a.offsetParent  
            t=t+a.offsetTop  
            l=l+a.offsetLeft  
            wend  
            msgbox   "top="&t&chr(13)&"left="&l,64,"得到控件的位置"  
            end   function  
            --></script>  
             
            14.   光標(biāo)是停在文本框文字的最后  
            <script   language="javascript">  
            function   cc()  
            {  
            var   e   =   event.srcElement;  
            var   r   =e.createTextRange();  
            r.moveStart("character",e.value.length);  
            r.collapse(true);  
            r.select();  
            }  
            </script>  
            <input   type=text   name=text1   value="123"   onfocus="cc()">  
             
            15.   判斷上一頁的來源  
            javascript:  
            document.referrer  

          posted @ 2008-10-13 10:23 牛X書記 閱讀(193) | 評論 (0)編輯 收藏

          (一).確認(rèn)刪除用法:
            1. BtnDel.Attributes.Add("onclick","return confirm('"+"確認(rèn)刪除?"+"')");
            2. linktempDelete.Attributes["onclick"]="javascript:return  confirm('"+"確認(rèn)刪除?"+"');";
            3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e)
            4.
            {
          if ((e.Item.ItemType == ListItemType.Item) | (e.Item.ItemType == ListItemType.AlternatingItem))
          {
            // 刪除按鈕上的提示部分
            e.Item.Cells[10].Attributes.Add("onclick", "return confirm('確定刪除嗎?');");

            }
            5.
              <script language="JavaScript" type="text/JavaScript">
          function delete_y(e)
                  {
              if(event.srcElement.outerText == "刪除")
                  event.returnValue=confirm("確定刪除?");
          }
          document.onclick=delete_y;
              </script>

          (二).跨語言字符串替換
              System.Text.RegularExpressions.Regex.Replace(str1,@" <{1}[^ <>]*>{1}","").Replace("&nbsp;","").Replace("\","\\").Replace("-","-").Replace("&amp;","&").Replace("&lt;"," <").Replace("&gt;",">").Replace("br","\n");

          (三).關(guān)閉窗體
            1.
                this.btnClose.Attributes.Add("onclick",  "window.close();return false;");
            2.關(guān)閉本窗體間跳轉(zhuǎn)到另一個(gè)頁面
                this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign
                  ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
            3.關(guān)閉父窗體:
                <INPUT type="reset" value=' <%=this._Cancel%>' onclick="window.parent.close()"  Class="Button">

            4.關(guān)閉本彈出窗體,并刷新父頁面

                this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>");


          (四).Web MessageBox 
            1.
                Response.Write(" <script language=javascript> window.alert('保存成功1'); </script>");
            2.
                Response.Write(" <script>alert('"+"保存成功!"+"'); </script>");
            3.
                this.Page.RegisterStartupScript("ChiName"," <script language='javascript'>alert('" + "保存成功!" + "') </script>");

          (五).DataGrid中加CheckBox控件模板列.
            請看:  http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx

          (六). window.open() 方法
          語法:window.open(pageurl,name,parameters);
          window對象的open()方法用于創(chuàng)建一個(gè)新的窗口實(shí)例,新創(chuàng)建的窗口的外觀由參數(shù):parameters指定。新窗口中打開的文檔由參數(shù):        pageurl指定。系統(tǒng)能夠根據(jù)參數(shù):name確定的名稱訪問該窗口。

                  下表為parameters參數(shù)表:
                  參數(shù)          衩始值          說明
                  alwaysLowered yes/no 指定窗口隱藏在所有窗口之下。
                  alwaysRaised yes/no 指定窗口浮在所有窗口之上。
                  dependent yes/no 指定打開的窗口為父窗口的一個(gè)了窗口。并隨父窗口的關(guān)閉而關(guān)閉。
                  directions yes/no 指定Navigator 2和3的目錄欄是否在新窗口中可見。
                  height pixel value 設(shè)定新窗口的像素高度。
                  hotkeys yes/no 在沒有菜單欄的新窗口設(shè)置安全退出熱鍵。
                  innerHeight pixel value 設(shè)置新窗口中文檔的像素高度。
                  innerWidth pixel value 設(shè)置新窗口中文檔的像素寬度。
                  location yes/ no 指明位置欄在新窗口中是否可見。
                  menubar yes /no 指明菜單欄在新窗口中是否可見。
                  outerHeight pixel value 設(shè)定窗口(包括裝飾邊框)的像素高度。
                  outerWidth pixel value 設(shè)定窗口(包括裝飾邊框)的像素寬度。
                  resizable yes /no 指明新窗口是否可以調(diào)整。
                  screenX pixel value 設(shè)定新窗口離屏幕邊界的像素長度。
                  screenY pixel value 設(shè)定新窗口離屏幕上邊界的像素長度。
                  scrollbars yes /no 指明滾動欄在新窗口中是否可見。
                  titlebar yes /no 指明菜單題目欄在新窗口是否可見。
                  toolbar yes /no 指明工具欄在新窗口中是否可見。
                  Width pixel value 設(shè)定窗口的像素寬度。
                  z-look yes /no 在文檔中包含各個(gè) <pplet>標(biāo)簽的數(shù)組。
                  fullscreen yes / no 打開的窗體是否進(jìn)行全屏顯示
                  left pixel value 設(shè)定新窗口距屏幕左方的距離
                  top pixel value 設(shè)定新窗口距屏幕上方的距離
           
                例子:
                  <html>
                    <head>
                        <title>window.open函數(shù) </title>
                    </head>
                    <body>
                        <script language="javascript">
                            <!--
                          window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");
                              //-->
                        </script>
                    </body>
                  </html>

          (七).location對象   
              href 整個(gè)URL字符串.
              protocol 含有URL第一部分的字符串,如http:
              host 包含有URL中主機(jī)名:端口號部分的字符串.如//www.cenpok.net/server/
              hostname 包含URL中主機(jī)名的字符串.如http://www.cenpok.net
              port 包含URL中可能存在的端口號字符串.
              pathname URL中"/"以后的部分.如~list/index.htm
              hash "#"號(CGI參數(shù))之后的字符串.
              search "?"號(CGI參數(shù))之后的字符串.

          (八).按鍵捕捉
            1.Ctrl+Enter按鍵捕捉方法
              <body onkeydown="doKeyDown()">
              <script language="JavaScript">
              <!--
              function doKeyDown()
              {
                  if (event.ctrlKey && event.keyCode == 13)
                  {
                    alert("You pressed the Ctrl + Enter")
                  }
              }
              //-->
              </script>
              </body>
            2.Alt加快捷鍵: Alt+A
              <button accessKey=A title="Alt+A" onclick="alert('Button clicked!')">Alt+A </button>
          (九).控制輸入,非法字符不能輸入到TextBox.
              <asp:textbox class="Text"
                  onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"
          id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12">
              </asp:textbox>
              說明: 此方法控制TextBox只收數(shù)字:0~9 , 也自可以定義其它可輸入字符,如改成: 65~123,只允許輸入: a~z和A~Z 等.

          [以下為收藏]

          1>屏蔽功能類

          1.1 屏蔽鍵盤所有鍵
          <script language="javascript">
          <!--
          function document.onkeydown(){
            event.keyCode = 0;
            event.returnvalue = false;
          }
          -->
          </script>

          1.2 屏蔽鼠標(biāo)右鍵

          在body標(biāo)簽里加上oncontextmenu=self.event.returnvalue=false

          或者

          <script language="javascript">
          <!--
          function document.oncontextmenu()
          {
            return false;
          }
          -->
          </script>

          function nocontextmenu()
          {
              if(document.all) {
                  event.cancelBubble=true;
                  event.returnvalue=false;
                  return false;
              }
          }

          或者

          <body onmousedown="rclick()" oncontextmenu= "nocontextmenu()">

          <script language="javascript">
          <!--
          function rclick()
          {
              if(document.all) {
                  if (event.button == 2){
                      event.returnvalue=false;
                  }
              }
          }
          -->
          </script>


          1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格鍵

          <script language="javascript">
          <!--
            //屏蔽鼠標(biāo)右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
          function window.onhelp(){return false} //屏蔽F1幫助
          function KeyDown(){
            if ((window.event.altKey)&&
                ((window.event.keyCode==37)||  //屏蔽 Alt+ 方向鍵 ←
                (window.event.keyCode==39))){  //屏蔽 Alt+ 方向鍵 →
              alert("不準(zhǔn)你使用ALT+方向鍵前進(jìn)或后退網(wǎng)頁!");
              event.returnvalue=false;
              }

              /* 注:這還不是真正地屏蔽 Alt+ 方向鍵,
              因?yàn)?Alt+ 方向鍵彈出警告框時(shí),按住 Alt 鍵不放,
              用鼠標(biāo)點(diǎn)掉警告框,這種屏蔽方法就失效了。以后若
              有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/

            if ((event.keyCode == 8) &&
                (event.srcElement.type != "text" &&
                event.srcElement.type != "textarea" &&
                event.srcElement.type != "password") ||          //屏蔽退格刪除鍵 
                (event.keyCode==116)||                            //屏蔽 F5 刷新鍵
                (event.ctrlKey && event.keyCode==82)){            //Ctrl + R
              event.keyCode=0;
              event.returnvalue=false;
              }
            if ((event.ctrlKey)&&(event.keyCode==78))  //屏蔽 Ctrl+n
              event.returnvalue=false;
            if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
              event.returnvalue=false;
            if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
                window.event.returnvalue = false;  //屏蔽 shift 加鼠標(biāo)左鍵新開一網(wǎng)頁
            if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
                window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
                return false;}
            }
          /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜單
          第一種方法:
            window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
          第二種方法是打開一個(gè)全屏的頁面:
            window.open("你的.asp", "", "fullscreen=yes")
          */
          //-->
          </script>


          1.4屏蔽瀏覽器右上角“最小化”“最大化”“關(guān)閉”鍵

          <script language=javascript>
          function window.onbeforeunload()
          {
            if(event.clientX>document.body.clientWidth&&event.clientY <0||event.altKey)
            {
              window.event.returnvalue = "";
            }
          }
          </script>

          或者使用全屏打開頁面

          <script language="javascript">
          <!--
          window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
          -->
          </script>

          注:在body標(biāo)簽里加上onbeforeunload="javascript:return false"(使不能關(guān)閉窗口)

          1.5屏蔽F5鍵

          <script language="javascript">
          <!--
          function document.onkeydown()
          {
              if ( event.keyCode==116)
              {
                  event.keyCode = 0;
                  event.cancelBubble = true;
                  return false;
              }
          }
          -->
          </script>

          1.6屏蔽IE后退按鈕

          在你鏈接的時(shí)候用 <a href="javascript:location.replace(url)">

          1.7屏蔽主窗口滾動條

          在body標(biāo)簽里加上 style="overflow-y:hidden"

          1.8 屏蔽拷屏,不斷地清空剪貼板

          在body標(biāo)簽里加上onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"

          1.9 屏蔽網(wǎng)站的打印功能

          <style>
          @media print {
            * { display: none }
          }
          </style>

          1.10 屏蔽IE6.0 圖片上自動出現(xiàn)的保存圖標(biāo)

          方法一:
          <META HTTP-EQUIV="imagetoolbar" CONTENT="no">
          方法二:
          <img galleryimg="no">

          1.11 屏蔽頁中所有的script

          <noscrript> </noscript>

          2>表單提交驗(yàn)證類



          2.1 表單項(xiàng)不能為空

          <script language="javascript">
          <!--
          function CheckForm()
          {
          if (document.form.name.value.length == 0) {
            alert("請輸入您姓名!");
            document.form.name.focus();
            return false;
          }
            return true;
          }
          -->
          </script>

          2.2 比較兩個(gè)表單項(xiàng)的值是否相同

          <script language="javascript">
          <!--
          function CheckForm()
          if (document.form.PWD.value != document.form.PWD_Again.value) {
            alert("您兩次輸入的密碼不一樣!請重新輸入.");
            document.ADDUser.PWD.focus();
            return false;
          }
            return true;
          }
          -->
          </script>

          2.3 表單項(xiàng)只能為數(shù)字和"_",用于電話/銀行帳號驗(yàn)證上,可擴(kuò)展到域名注冊等

          <script language="javascript">
          <!--
          function isNumber(String)
          {
              var Letters = "1234567890-"; //可以自己增加可輸入值
              var i;
              var c;
                if(String.charAt( 0 )=='-')
          return false;
                if( String.charAt( String.length - 1 ) == '-' )
                    return false;
              for( i = 0; i < String.length; i ++ )
              {
                    c = String.charAt( i );
            if (Letters.indexOf( c ) < 0)
                    return false;
          }
              return true;
          }
          function CheckForm()
          {
              if(! isNumber(document.form.TEL.value)) {
            alert("您的電話號碼不合法!");
                  document.form.TEL.focus();
                  return false;
          }
          return true;
          }
          -->
          </script>


          2.4 表單項(xiàng)輸入數(shù)值/長度限定

          <script language="javascript">
          <!--
          function CheckForm()
          {
              if (document.form.count.value > 100 || document.form.count.value < 1)
          {
          alert("輸入數(shù)值不能小于零大于100!");
          document.form.count.focus();
          return false;
          }
              if (document.form.MESSAGE.value.length <10)
          {
          alert("輸入文字小于10!");
          document.form.MESSAGE.focus();
          return false;
          }
          return true;
          }
          //-->
          </script>

          2.5 中文/英文/數(shù)字/郵件地址合法性判斷

          <SCRIPT LANGUAGE="javascript">
          <!--

          function isEnglish(name) //英文值檢測
          {
          if(name.length == 0)
            return false;
          for(i = 0; i < name.length; i++) {
            if(name.charCodeAt(i) > 128)
            return false;
          }
          return true;
          }

          function isChinese(name) //中文值檢測
          {
          if(name.length == 0)
            return false;
          for(i = 0; i < name.length; i++) {
            if(name.charCodeAt(i) > 128)
            return true;
          }
          return false;
          }

          function isMail(name) // E-mail值檢測
          {
          if(! isEnglish(name))
            return false;
          i = name.indexOf("@");
          j = name.lastIndexOf("@");
          if(i == -1)
            return false;
          if(i != j)
            return false;
          if(i == name.length)
            return false;
          return true;
          }

          function isNumber(name) //數(shù)值檢測
          {
          if(name.length == 0)
            return false;
          for(i = 0; i < name.length; i++) {
            if(name.charAt(i) < "0" || name.charAt(i) > "9")
            return false;
          }
          return true;
          }

          function CheckForm()
          {
          if(! isMail(form.Email.value)) {
            alert("您的電子郵件不合法!");
            form.Email.focus();
            return false;
          }
          if(! isEnglish(form.name.value)) {
            alert("英文名不合法!");
            form.name.focus();
            return false;
          }
          if(! isChinese(form.cnname.value)) {
            alert("中文名不合法!");
            form.cnname.focus();
            return false;
          }
          if(! isNumber(form.PublicZipCode.value)) {
            alert("郵政編碼不合法!");
            form.PublicZipCode.focus();
            return false;
          }
          return true;
          }
          //-->
          </SCRIPT>

          2.6 限定表單項(xiàng)不能輸入的字符

          <script language="javascript">
          <!--

          function contain(str,charset)// 字符串包含測試函數(shù)
          {
            var i;
            for(i=0;i <charset.length;i++)
            if(str.indexOf(charset.charAt(i))>=0)
            return true;
            return false;
          }

          function CheckForm()
          {
          if ((contain(document.form.NAME.value, "%\(\)> <")) || (contain(document.form.MESSAGE.value, "%\(\)> <")))
          {
            alert("輸入了非法字符");
            document.form.NAME.focus();
            return false;
          }
            return true;
          }
          //-->
          </script>

          posted @ 2008-10-13 10:22 牛X書記 閱讀(252) | 評論 (0)編輯 收藏

          1.錢不是問題,問題是沒錢!
          2.喝醉了我誰也不服,我就扶墻!
          3.我就像一只趴在玻璃上的蒼蠅,前途一片光明,但又找不到出路.
          4.大師兄,你知道嗎?二師兄的肉現(xiàn)在比師傅的都貴了 
          5.如果多吃魚可以補(bǔ)腦讓人變聰明的話,那么你至少得吃一對兒鯨魚……
          6.水至清則無魚,人至賤則無敵。
          7.青春就像衛(wèi)生紙,看著挺多得,用著用著就不夠了~
          8.懷才就像懷孕,時(shí)間久了才能讓人看出來。
          9.我身邊的朋友們啊,你們快點(diǎn)出名吧,這樣我的回憶錄就可以暢銷了~~~
          10.同事去見客戶,可能是緊張,一開口便是:“劉先生你好,請問你貴姓啊?”汗啊~~~~~~
          11.一女同學(xué)黑了些,她男友又太白了些,有天宿舍里得毒舌天后突然對她冒出一句:“你們這樣不行,你們會生出斑馬來的”
          12.老娘一向視帥哥與金錢如糞土,而他們也一直是這樣看我的
          13.不要和我比懶,我懶得和你比
          14.我不是個(gè)隨便的人 我隨便起來不是人
          15.上帝說,要有光,我說我反對,從此世界上有了黑暗
          16.今天心情不好.我只有四句話想說.包括這句和前面的兩句.我的話說完了......
          17.做人就要做一個(gè)徘徊在牛A和牛C之間的人
          18.我的大名叫上帝,小名叫耶穌,英文名God, 法號是如來...
          19.人不能在一棵樹上吊死,要在附近幾棵樹上多死幾次試試
          20.樹不要皮,必死無疑;人不要臉,天下無敵。
          21.農(nóng)夫三拳有點(diǎn)疼
          22.其實(shí)我一直很受人歡迎的:小時(shí)候的我人見人愛,如今的我人賤人愛
          23.不怕虎一樣的敵人,就怕豬一樣的隊(duì)友
          24.走自己的路,讓別人打車去吧
          25.老鼠扛刀,滿街找貓
          26.只要功夫深,拉屎也認(rèn)真
          27.中國人誰跑的最快?是曹操(非劉翔)。因?yàn)檎f曹操曹操到
          28.思想有多遠(yuǎn),你就給我滾多遠(yuǎn)
          29.只有在火車站大排長龍時(shí),才能真正意識到自己是“龍的傳人”。
          30.有情人終成家屬
          31.春天來了,一群大雁正向北飛,一會兒排成B字型,一會兒排成T字型..
          32.在哪里跌倒 就在哪里躺下
          33.老虎不發(fā)威 你當(dāng)我是HELLO KITTY!
          34.驢是的念來過倒~

          posted @ 2008-10-06 14:20 牛X書記 閱讀(595) | 評論 (0)編輯 收藏

          1.吃了辣的東西,感覺就要被辣死了,就往嘴里放上少許鹽,含一下,吐掉,漱下口,就不辣了;
          2.牙齒黃,可以把花生嚼碎后含在嘴里,并刷牙三分鐘,很有效;
          3.若有小面積皮膚損傷或者燒傷、燙傷,抹上少許牙膏,可立即止血止痛;
          4.經(jīng)常裝茶的杯子里面留下難看的茶漬,用牙膏洗之,非常干凈;
          5.仰頭點(diǎn)眼藥水時(shí)微微張嘴,這樣眼睛就不會亂眨了;
          6.嘴里有潰瘍,就用維生素C貼在潰瘍處,等它溶化后潰瘍基本就好了;
          7.眼睛進(jìn)了小灰塵,閉上眼睛用力咳嗽幾下,灰塵就會自己出來;
          8.洗完臉后,用手指沾些細(xì)鹽在鼻頭兩側(cè)輕輕按摩,然后再用清水沖洗,黑頭和粉刺就會清除干凈,毛細(xì)孔也會變?。?/font>
          9.剛剛被蚊子咬完時(shí),涂上肥皂就不會癢了;
          10.如果嗓子、牙齦發(fā)炎了,在晚上把西瓜切成小塊,沾著鹽吃,記得一定要是晚上,當(dāng)時(shí)癥狀就會減輕,第二天就好了;
          11.吹風(fēng)機(jī)對著標(biāo)簽吹,等吹到商標(biāo)的膠熱了,就可以很容易的把標(biāo)簽撕下來;
          12.旅行帶衣服時(shí)如果怕壓起褶皺,可以把每件衣服都卷成卷;
          13.打打嗝時(shí)就喝點(diǎn)醋,立桿見影;
          14.吃了有異味的東西,如大蒜、臭豆腐,吃幾顆花生米就好了;
          15.治療咳嗽,特別是干咳,晚上睡覺前,用純芝麻香油煎雞蛋,油放稍多些,什么調(diào)味料都不要放,趁熱吃過就去睡覺,連吃幾天效果很明顯;
          16.手腕長粗的MM想帶較細(xì)的手鐲,就不能硬帶,應(yīng)把手上套上一個(gè)塑料袋再帶上手鐲,非常好帶,也不會把手弄疼,取下也是同樣的方法;
          17.栗子皮難剝,先把外殼剝掉,再把它放進(jìn)微波爐轉(zhuǎn)一下,拿出后趁熱一搓,皮就掉了;
          18.插花時(shí),在水里滴上一滴洗潔精,可以維持好幾天;
          19.把核桃放進(jìn)鍋里蒸十分鐘,取出放在涼水里再砸開,就能取出完整的桃核仁了;
          20.把蝦仁放進(jìn)碗里,加一點(diǎn)精鹽、食用堿粉,用手抓搓一會兒后用清水浸泡,然后再用清水沖洗,即能使炒出的蝦仁透明如水晶,爽嫩可口;
          21.炒肉時(shí),先把肉用小蘇打水浸泡十幾分鐘,倒掉水,再入味,炒出來會很嫩滑;
          22.將殘茶葉浸入水中數(shù)天后,澆在植物根部,可促進(jìn)植物生長;
          23.把殘茶葉曬干,放到廁所或者溝渠里燃熏,可消除惡臭,具有驅(qū)除蚊子蒼蠅的功能;
          24.夾生飯重煮法:可用筷子在飯內(nèi)扎些直通鍋底的孔,灑入少許黃酒重燜,
          25.若只表面夾生,只要將表層翻到中間再燜即可;
          26.巧除紗窗油膩:將洗衣服、吸煙剩下的煙頭一起放在水里,待溶解后,拿來擦玻璃窗、紗窗,效果真不錯(cuò);
          27.只要在珠寶盒中放上一節(jié)小小的粉筆,即可讓首飾常保光澤;
          28.桌子、瓶子表面的不干膠痕跡用風(fēng)油精可以擦拭;
          29.出門時(shí)隨時(shí)在包里帶一節(jié)小的干電池,若裙子帶靜電,就把電池的正極在裙子上面擦幾下即可去掉靜電;
          30.不管是鞋子的哪個(gè)地方磨到了你的腳,你就在鞋子磨腳的地方涂一點(diǎn)點(diǎn)白酒,保證就不磨腳了;
          31.亨調(diào)蔬菜時(shí),如果必須要焯,焯好菜的水最好盡量利用。如做水餃的菜,焯好的水可適量放在肉餡里,這樣既保證營養(yǎng),又使水餃餡味美有湯;
          32.夏天足部容易出汗,每天用淡鹽水泡腳可有效應(yīng)對汗腳;
          33.夏天游泳后曬曬太陽,可防肌膚勞損等疾病發(fā)生;
          34.夏天枕頭易受潮滋生霉菌,時(shí)常曝曬枕芯有利健康;
          35.多吃薏米小豆粥等潮濕健脾,可防暑濕;
          36.防失眠:睡前少講太多話,忌飲濃茶,睡前勿大用腦,可用熱水加醋洗腳;
          37.金銀花有疏散風(fēng)濕功效,金銀花水煎取汁涼后與蜂蜜沖調(diào)可解暑;
          38.吃過于肥膩的食物后喝茶,能刺激自律神經(jīng),促進(jìn)脂肪代謝;
          39.睡眠不足會變笨,一天需要睡眠八小時(shí),有午睡習(xí)慣可延緩衰老;
          40.雙手易變得干燥粗糙,用醋泡手十分鐘可護(hù)膚;
          41.夏天擦拭涼席,用滴加了花露水的清水擦拭涼席,可使涼席保持清爽潔凈。當(dāng)然,擦拭時(shí)最好沿著涼席紋路進(jìn)行,以便花露水滲透到?jīng)鱿募y路縫隙,這樣清涼舒適的感覺會更持久;
          42.早餐多食西紅柿、檸檬酸等酸性蔬菜和水果,有益于養(yǎng)肝;
          43.爽身止癢洗頭或洗澡時(shí),在水中加五六滴花露水,能起到很好的清涼除菌、祛痱止癢作用;
          44.葡萄含有睡眠輔助激素,常食有助睡眠;
          45.夏天多喝番茄湯既可獲得養(yǎng)料,又能補(bǔ)充水分,番茄湯應(yīng)燒好并冷卻后再喝,所含番茄紅素有一定的抗前列腺癌和保護(hù)心肌的功效,最適合于男子;吃酸性物質(zhì)馬上刷牙會損害牙齒健康;
          46.因外傷碰破皮肉時(shí),在傷處涂上牙膏進(jìn)行消炎、止血,再包扎,作為臨時(shí)急救藥,以藥物牙膏效果最為顯著;
          47.將白醋噴灑在菜板上,放上半小時(shí)后再洗,不但能殺菌,還能除味;
          48.喝酸奶能解酒后煩躁,酸奶能保護(hù)胃黏膜、延緩酒精吸收,并且含鈣豐富,對緩解酒后煩躁尤其有效;
          49.皮鞋包皮放久了發(fā)霉時(shí),可用軟布蘸酒精加水(11)溶液擦拭即可;
          50.發(fā)生頭痛、頭暈時(shí),可在太陽穴涂上牙膏,因?yàn)檠栏嗪斜『赡X、丁香油可鎮(zhèn)痛;
          51.蠟燭冷凍二十四小時(shí)后,再插到生日蛋糕上,點(diǎn)燃時(shí)不會流下燭油;
          52.白色衣褲洗后易泛黃,可取一盆清水,滴上二三滴藍(lán)墨水,將洗過的衣褲在浸泡一刻鐘,不必?cái)Q干,就放在太陽下曬,即可潔白干凈;
          53.過多食用生蔥蒜會刺激口腔腸胃,不利健康,最好加一點(diǎn)醋再食用;
          54.及時(shí)補(bǔ)充水分但應(yīng)少喝果汁、可樂、雪碧、汽水等飲料,含有較多的糖精和電解質(zhì),喝多了會對腸胃產(chǎn)生不良刺激,影響消化和食欲。因此夏天應(yīng)多喝白開水或淡鹽(糖)水;
          55.每天早晨用豆腐摩擦面部幾分鐘,堅(jiān)持一個(gè)月,面部會變得很滋潤;
          56.調(diào)室內(nèi)溫差不宜超過五度,即使天氣再熱,空調(diào)室內(nèi)溫度也不宜到24度以下
          57.加酶洗衣粉劑放在溫水中需要較長的分解時(shí)間才能使洗衣效果更佳;
          58.夏天,人的活動時(shí)間變長,出汗多,耗能過大,應(yīng)適當(dāng)多吃雞、鴨、瘦肉、魚類、蛋類等營養(yǎng)食品,以滿足人體的代謝需要;
          59.頭痛時(shí)把蘋果磨成泥狀涂在紗布上,貼在頭痛處,癥狀可減輕;
          60.皮包上有污漬,可以用棉花蘸風(fēng)油精擦拭。

          posted @ 2008-10-01 21:42 牛X書記 閱讀(220) | 評論 (0)編輯 收藏

          關(guān)鍵字: jbpm jpdl 部署 tomcat mysql 工作流

          相關(guān)資料:

           

          jBPM學(xué)習(xí)筆記(流程設(shè)計(jì)與控制)

          jBPM學(xué)習(xí)筆記(框架設(shè)計(jì)簡介)

           

          系統(tǒng)平臺:

           

          系統(tǒng)環(huán)境:

          Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0

          主機(jī)完整名稱:

                 zsy-aten

          瀏覽器

                 Internet Explorer 6.0

           

          安裝包及相關(guān)軟件:

           

          1、  安裝JDKMySQL

          JDK的安裝這里就不多說了,學(xué)過Java的人都知道,本實(shí)驗(yàn)安裝的是jdk-6u4版本。安裝完后記得添加JAVA_HOME的環(huán)境變量。

          MySQL的安裝不屬于本文的介紹范圍,請參閱相關(guān)文檔。本實(shí)驗(yàn)安裝的是MySQL 6.0版本,安裝完后建立的數(shù)據(jù)庫名為jbpm,創(chuàng)建的用戶名為jbpmuser,密碼為shine。

          2、  安裝Tomcat

          下載安裝Tomcat-6.0.16是目前最新版本:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.exe ;要在JDK安裝之后安裝Tomcat,安裝過程中會自動搜索JRE的目錄,當(dāng)然也可以選擇其它的JRE,其它默認(rèn)設(shè)置即可。

          3、  安裝Ant

          Ant 是一個(gè)編譯工具,使用 jBPM 時(shí)必須用它來編譯文件, jBPM 中的很多操作都要用到 Ant ,安裝方法如下:

          1 先下載:http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip

          2 解壓到 E:\Java\tools\apache-ant-1.7.0 (當(dāng)然其他目錄也可以);

          3 設(shè)置環(huán)境變量:ANT_HOME= E:\Java\tools\apache-ant-1.7.0

          4)把 %ANT_HOME%\bin 加入到環(huán)境變量 PATH 中。

          4、  安裝jBPM

          下載jBPM-JPDL本為3.2.2http://labs.jboss.com/jbossjbpm/jbpm_downloads/下載jPDL Suite版,這個(gè)版本是包含所有的一整套工具,下載后是個(gè)壓縮包解壓到 E:\Java\tools :、\jbpm-jpdl-3.2.2 ,目錄下主要包含以下幾個(gè)子目錄:

          l  src —— jBPM 的源代碼

          l  config —— jBPMHibernatelog4j的配置文件

          l  db —— 各種數(shù)據(jù)庫的建表SQL語句

          l  lib —— 依賴的第三方依賴類庫

          l  doc —— API文檔及用戶使用向?qū)?/span>

          l  designer —— 輔助開發(fā) jBPM Eclipse 插件,具體在 eclipse子目錄中

          l  server —— 一個(gè)已經(jīng)配置好了的基于 JBoss jBPM 控制臺及示例

          5、  安裝EclipsejBPM開發(fā)插件

          Eclipse不是開發(fā) jBPM 必須的工具,但它是對 jBPM 開發(fā)很有幫助的工具,特別是 jBPM 提供了一個(gè) Eclipse 插件用來輔助開發(fā) jBPM 。關(guān)于 Eclipse 的安裝請參閱相關(guān)文檔。本實(shí)驗(yàn)安裝的是MyEclipse6.0集成Eclipse3.3

                 安裝完Eclipse安裝jBPM的開發(fā)插件,步驟如下:

          (1)       打開Eclipse選擇菜單“Help->Software Updates->Find and Install”;

          (2)       彈出窗口中選擇“Search for new features to install”,然后點(diǎn)擊“Next >”;如圖

           

          (3)       點(diǎn)擊按扭“New Local Site…”選擇插件目錄,位于designer\ eclipse目錄下,如:E:\Java\tools\jbpm-jpdl-3.2.2\designer\eclipse。選定后點(diǎn)“OK”,如圖

           

          (4)       選中“designer/eclipse”,然后點(diǎn)擊“Finish”,如圖

           

          (5)       然后選擇同意條款,接提示步驟安裝就可以了。

           

                  到此為止需要的所有工具都安裝好了。接下來先體驗(yàn)一下jBPM工作流。在 JBoss jBPM Starters Kit jbpm-server 目錄是一個(gè)已經(jīng)在JBoss中配置好的了 jBPM 示例,雙擊 jbpm-server 目錄下的 start.bat 文件,啟動 JBoss 服務(wù)。打開網(wǎng)頁: http://localhost:8080/ jbpm-console 得到如下頁面:

          這是一個(gè)流程控制管理平臺,用右邊的賬號與密碼就可以登錄,這個(gè)控制臺包括流程管理,可以部署流程、刪除流程、查看流程圖、管理流程實(shí)例等;還有任務(wù)管理,工作管理及用戶與用戶組管理。

           

          基于TomcatMySQL的部署:

           

                 現(xiàn)在要把上面演示的例子部署到Tomcat中,并將數(shù)據(jù)數(shù)配置為MySQL。

          STEP 1,初始化數(shù)據(jù)庫

          jBPM 需要數(shù)據(jù)庫支持, jBPM 會把自己的一個(gè)初始化數(shù)據(jù)存儲到數(shù)據(jù)庫,同時(shí)工作流的數(shù)據(jù)也是存儲到數(shù)據(jù)庫中的。 jBPM 使用 Hibernate 作為的存儲層。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目錄下有個(gè)jbpm.jpdl.mysql.sql數(shù)據(jù)庫腳本文件。我們不能直接導(dǎo)入該文件, 會提示有錯(cuò)誤, 應(yīng)為該文件格式有問題, 首先打開該文件(推薦UltraEdit), 把前面的 alter table JBPM_XX 語句都刪除(因?yàn)槲覀兪褂玫氖切碌臄?shù)據(jù)庫,所以需要這些語句, 這個(gè)腳本文件是升級3.2的數(shù)據(jù)庫表結(jié)構(gòu)用的) 然后在每一行前面添加一個(gè)分號 不然腳本執(zhí)行會出錯(cuò)。這樣就可以用source命令導(dǎo)入了。 導(dǎo)入后, 表結(jié)構(gòu)創(chuàng)建成功。

           STEP 2,準(zhǔn)備發(fā)布包

                 E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文件夾下 運(yùn)行ant customize.console.for.tomcat。執(zhí)行命令后會在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文件夾下生成一個(gè)jbpm-console.war 文件,用WinRaR解壓開,并復(fù)制到已安裝Tomcatwebapps目錄下,jbpm還需三個(gè)依賴類庫,分別是commons-collections.jar、ehcache-1.2.3.jar、jta.jar,當(dāng)然還有個(gè)MySQL驅(qū)動mysql-connector-java-5.0.7-bin.jar,添加這些jar文件 \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目錄下。

           STEP 3,修改Hibernate數(shù)據(jù)庫配置文件

                 修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classeshibernate.cfg.xml文件。這是Hibernate的數(shù)據(jù)庫配置文件,要做一些修改,原來內(nèi)容如下:

          <!--  hibernate dialect -->

            <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>

          <!--  JDBC connection properties (begin) ===

            <property name="hibernate.connection.driver_class">

          org.hsqldb.jdbcDriver</property>

            <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>

            <property name="hibernate.connection.username">sa</property>

            <property name="hibernate.connection.password"></property>

          ==== JDBC connection properties (end) -->

            <property name="hibernate.cache.provider_class">

          org.hibernate.cache.HashtableCacheProvider</property>

          <!--  DataSource properties (begin) -->

            <property name="hibernate.connection.datasource">java:/JbpmDS</property>

          <!--  DataSource properties (end) -->

          修改后如下:

          <!-- hibernate dialect -->

          <property name="hibernate.dialect">

          org.hibernate.dialect.MySQLInnoDBDialect</property>

          <property name="hibernate.connection.driver_class">

          com.mysql.jdbc.Driver</property>

            <property name="hibernate.connection.url">

          jdbc:mysql://localhost:3306/jbpm</property>

            <property name="hibernate.connection.username">jbpmuser</property>

            <property name="hibernate.connection.password">shine</property>

          <property name="hibernate.cache.provider_class">

          org.hibernate.cache.HashtableCacheProvider</property>
           STEP 4,設(shè)置Tomcat安全域

                 有兩種方法都可以實(shí)現(xiàn),但摧薦第一種方法。

          方法一:配置一個(gè)JDBC Realm,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目錄下新建context.xml文件,內(nèi)容如下:

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

          <Context>

          <Realm className="org.apache.catalina.realm.JDBCRealm"

            driverName="com.mysql.jdbc.Driver"

            connectionURL="jdbc:mysql://localhost:3306/jbpm"

            connectionName="jbpmuser"

            connectionPassword="shine"

          userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

            userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

            userCredCol="DISTINCT u.PASSWORD_"

            userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

            roleNameCol="g.NAME_" />

          </Context>

          方法二:直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文件來設(shè)置安全域。為了不和tomcat已有的用戶沖突,這里把 tomcat以前的登陸帳號username="admin" 修改為username="tadmin",修改后的文件如下:

          <?xml version='1.0' encoding='utf-8'?>

          <tomcat-users>

            <role rolename="user"/>

            <role rolename="administrator"/>

            <role rolename="manager"/>

            <role rolename="sales"/>

            <role rolename="hr"/>

            <role rolename="admin"/>

            <role rolename="participant"/>

            <user username="user" password="user" roles="user,sales"/>

            <user username="shipper" password="shipper" roles="user,hr"/>

            <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>

            <user username="tadmin" password="" roles="admin,manager"/>
            <user username="admin" password="admin" roles="admin,user,hr"/>
          </tomcat-users>

           STEP 5,初始化基礎(chǔ)的用戶數(shù)據(jù)

          MySQL數(shù)據(jù)庫中執(zhí)行以下SQL語句,進(jìn)行初始化用戶信息,如下:

          INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);

          INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');

          INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');

          INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');

          INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
           STEP 6,啟動Tomcat服務(wù)

          啟動時(shí)查看Tomcat的日志,檢查是否正常啟動,未添加所有支持庫或數(shù)據(jù)庫配置出錯(cuò),都會引起啟動失敗。

                 注意:到此為止啟動TomcatJBPM服務(wù)就能正常運(yùn)行了,已經(jīng)可以在上面發(fā)布流程,接著第五步中部署一個(gè)jbpm自帶的流程例子。 

           

          STEP 7,發(fā)布例子流程

                 打開網(wǎng)頁:http://localhost:8080/jbpm 得到如下頁面就說明已經(jīng)部署成功:

           

          用右邊的manage賬號登錄,如下圖:

          點(diǎn)擊“Deploy”轉(zhuǎn)到部署流程頁面,點(diǎn)擊“瀏覽”按扭選擇E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文件,名后點(diǎn)擊“Deploy”按扭部署。

          posted @ 2008-09-28 21:36 牛X書記 閱讀(337) | 評論 (0)編輯 收藏

          由于窗口售票的預(yù)售期為6天,電話訂票預(yù)售期為10天,所以到窗口基本上不可能買到火車票,因此電話訂票是最佳選擇。
                    一、訂票電話:
              深圳:95105160、16883127;可訂深圳始發(fā)列車車票
              廣州:96020088、95105105;可訂廣州各站、佛山站始發(fā)車票
          二、訂票時(shí)間:
          深圳從1月25日起早上7點(diǎn)到晚上9點(diǎn)可訂春運(yùn)火車票,可訂10天以內(nèi)的車票。一次訂票流程只能預(yù)訂同一日期、同一車次、同一到站的車票最多3張。按自已的行程,從春運(yùn)開始就訂吧,
          注:2008年1月24日 - 2008年3月3日,春節(jié)前15天,春節(jié)后25天。春運(yùn)為期40天。
          提示:春運(yùn)期間退票請?zhí)崆傲r(shí)。一般不要退,別怕票沒人要!不要浪費(fèi)!在網(wǎng)上交流,給老鄉(xiāng)!

          三、訂票流程:
          親身體驗(yàn)的95105160訂票流程介紹:
          1。選擇出發(fā)站。不要挑!深圳的朋友可選深圳站或深圳西站,廣州的朋友可選廣州站,廣州東站,佛山站,越是不起眼的站越容易訂得到,選冷門!
          2。輸入出發(fā)時(shí)間。如 01 25表示 1月25日出發(fā)。沒有你要理想的那天的,也千萬不要掛了電話!打通一次不容易呀,運(yùn)氣好的話可多次選!不要挑!
          3。輸入目的地區(qū)號。如到太湖0556。。,即當(dāng)?shù)仉娫拝^(qū)號!
          4。選擇車票類型。如 硬座,硬臥。不要挑剔!一票難求!上車了再說
          5。選擇幾張票 。如 3。機(jī)會難得!抓住了,訂最多的,幫大家!
          6。選擇車次。 如果有很多車次,不熟悉出發(fā)時(shí)間就糟了,建議先查詢火車車次和時(shí)間,最好不要選擇在晚上的,特別是人少帶的東東多的女孩子。
          7。輸入身份證號碼!這是取票憑證!
          8。記錄訂單號碼!一定要記準(zhǔn)!事前一定要準(zhǔn)備好筆和紙!
          9。去取票點(diǎn)取票。選擇盡量大早的時(shí)間去,一下要準(zhǔn)備好現(xiàn)金,備好零錢。注意小偷!
          深圳電話訂票取票點(diǎn) 
                                                                    訂票技巧心得[/
            一、要做好思想準(zhǔn)備,從心理到實(shí)際操作中都要認(rèn)識到這是一場持久戰(zhàn)。打電話的次數(shù)不是以十計(jì)的(個(gè)人打了不下幾百次,暈死),今天不成就明天,明天還不成就后天,總之是不打進(jìn)去誓不罷休。要越挫越勇!
            二、根據(jù)個(gè)人從網(wǎng)上幾個(gè)論壇里看到的訂票經(jīng)驗(yàn)來看就是一定要用座機(jī)。在這種高效率高反復(fù)的工作中,座機(jī)的重?fù)軆?yōu)勢得以發(fā)揮的淋漓盡致。
            三、每次打電話的時(shí)候都要盡可能快盡可能多的重?fù)埽贿^一定要聽準(zhǔn)了。在長時(shí)間的重復(fù)操作的狀況下,很容易就把接通的聲音給錯(cuò)過了,機(jī)會難得這可比買彩票中獎還難哦一定要好好珍惜。
            四、不打無準(zhǔn)備的仗!事前在網(wǎng)上查詢到目的地的所有列車車次,并把目的地前后的幾個(gè)要停的站記下。然后再在網(wǎng)上找到各個(gè)站點(diǎn)所在的區(qū)號。
            五、因?yàn)槭亲詣佑喥彪娫?,所在地打電話的時(shí)間是越早越好!看到好多人打進(jìn)去定到票都是從6點(diǎn)50開始打一直打到8,9點(diǎn),從定到票的比列來看這個(gè)時(shí)段所占的比列很大。晚上8點(diǎn)以后基本打進(jìn)去的都已經(jīng)訂不到了。可能也有特例吧。
          六、當(dāng)你好不容易打進(jìn)去的時(shí)候一定要珍惜這得之不易的機(jī)會,千萬不能因?yàn)槟阋ǖ哪翘旎蛘吣莻€(gè)站的票已經(jīng)沒了就輕易放棄!因?yàn)楹芏嗲懊鎺滋斓钠北蝗硕撕鬀]有去取又重新放出來,這時(shí)你可以試著查詢前幾天到該站的票,
          七、如果還是沒有的話,就把第四條中叫你準(zhǔn)備的其他站點(diǎn)區(qū)號拿出來,試著再查詢有沒有同一列車同一路線到其他站的票:目的站的前一兩站也可以訂!上了車就好,只要你不下,少的上了車再補(bǔ)一兩站票吧?;蚰康牡氐南乱徽?,為了過年回家多花一點(diǎn)也值!
          (堅(jiān)持到底就是勝利?。?br />
            特別提醒:
            ●一次訂票流程只能預(yù)訂同一日期、同一車次、同一到站的車票最多3張。
            ●訂票過程中,須輸入有效證件號碼,憑訂單號碼和有效證件到取票點(diǎn)取票。訂單號碼和訂票時(shí)輸入的有效證件號碼必須相符,否則將無法取到車票。
            ●春運(yùn)期間,每個(gè)有效證件只能電話預(yù)訂一次車票。
            ●電話訂票成功后,如需變更,應(yīng)先撥打16883127或95105105,95105160電話取消所訂車票才能再重新電話預(yù)訂。
            ●撥打16883127或95105105,95105160預(yù)訂異地票,需到所訂車票的乘車站或該區(qū)域的取票點(diǎn)取票。如廣州市民成功預(yù)訂到深圳火車站發(fā)車的車票后,必須到深圳地區(qū)的取票點(diǎn)去取票。各地取票點(diǎn)地址和聯(lián)系電話可撥打95105688查詢。
            ●學(xué)生票、軍人票等特殊訂票,必須持有效證件到火車站內(nèi)售票廳的專門窗口取票。

          posted @ 2008-09-22 09:38 牛X書記 閱讀(598) | 評論 (1)編輯 收藏

          實(shí)現(xiàn)網(wǎng)頁以特效的方式打開

          垂直百葉窗:
          <meta http-equiv="Page-Enter" content="RevealTrans (Duration=3, Transition=8)">

          Duration: 定義網(wǎng)頁打開時(shí)間,一般設(shè)為3~5
          Transition:定義特效方式,共有24種可選


          0 盒狀收縮
          1 盒狀放射
          2 圓形收縮
          3 圓形放射
          4 由下往上
          5 由上往下
          6 從左至右
          7 從右至左
          8 垂直百葉窗
          9 水平百葉窗
          10 水平格狀百葉窗
          11垂直格狀百葉窗
          12 隨意溶解
          13從左右兩端向中間展開
          14從中間向左右兩端展開
          15從上下兩端向中間展開
          16從中間向上下兩端展開
          17 從右上角向左下角展開
          18 從右下角向左上角展開
          19 從左上角向右下角展開
          20 從左下角向右上角展開
          21 水平線狀展開
          22 垂直線狀展開
          23 隨機(jī)產(chǎn)生一種過渡方式

          posted @ 2008-09-20 16:36 牛X書記 閱讀(405) | 評論 (0)編輯 收藏

          posted @ 2008-09-20 15:51 牛X書記 閱讀(397) | 評論 (0)編輯 收藏

          一、按鈕樣式



          .buttoncss {
              font-family: "tahoma", "宋體"; 
              font-size:9pt; color: #003399;
              border: 1px #003399 solid;
              color:#006699;
              border-bottom: #93bee2 1px solid;
              border-left: #93bee2 1px solid;
              border-right: #93bee2 1px solid;
              border-top: #93bee2 1px solid;
              background-image:url(../images/bluebuttonbg.gif);
              background-color: #e8f4ff;
              cursor: hand;
              font-style: normal ;
              width:60px;
              height:22px;
          }


          二、藍(lán)色按鈕

          .bluebuttoncss {
              font-family: "tahoma", "宋體"; 
              font-size: 9pt; color: #003366;
              border: 0px #93bee2 solid;
              border-bottom: #93bee2 1px solid;
              border-left: #93bee2 1px solid;
              border-right: #93bee2 1px solid;
              border-top: #93bee2 1px solid;*/
              background-image:url(../images/blue_button_bg.gif);
              background-color: #ffffff;
              cursor: hand;
              font-style: normal ;
          }



          三、紅色按鈕

          .redbuttoncss {
              font-family: "tahoma", "宋體"; 
              font-size: 9pt; color: #0066cc;
              border: 1px #93bee2 solid;
              border-bottom: #93bee2 1px solid;
              border-left: #93bee2 1px solid;
              border-right: #93bee2 1px solid;
              border-top: #93bee2 1px solid;
              background-image:url(../images/redbuttonbg.gif);
              background-color: #ffffff;
              cursor: hand;
              font-style: normal ;
          }




          四、選擇按鈕

          .selectbuttoncss{
              font-family: "tahoma", "宋體"; 
              font-size: 9pt; color: #0066cc;
              border: 1px #93bee2 solid;
              border-bottom: #93bee2 1px solid;
              border-left: #93bee2 1px solid;
              border-right: #93bee2 1px solid;
              border-top: #93bee2 1px solid;
              background-image:url(../images/blue_button_bg.gif);
              background-color: #ffffff;
              cursor: hand;
              font-style: normal ;
            
          五、綠色按鈕

          .greenbuttoncss {
              font-family: "tahoma", "宋體"; 
              font-size: 9pt; color: #0066cc;
              border: 1px #93bee2 solid;
              border-bottom: #93bee2 1px solid;
              border-left: #93bee2 1px solid;
              border-right: #93bee2 1px solid;
              border-top: #93bee2 1px solid;
              background-image:url(../images/greenbuttonbg.gif);
              background-color: #ffffff;
              cursor: hand;
              font-style: normal ;
          }

          六、圖像按鈕

          .imagebutton{
              cursor: hand;    
          }

          七、頁面正文

          body {
              scrollbar-face-color: #ededf3;
              scrollbar-highlight-color: #ffffff;
              scrollbar-shadow-color: #93949f;
              scrollbar-3dlight-color: #ededf3;
              scrollbar-arrow-color: #082468;
              scrollbar-track-color: #f7f7f9;
              scrollbar-darkshadow-color: #ededf3;
              font-size: 9pt; 
              color: #003366;
              overflow:auto;
          }

          td { font-size: 12px }
          th {
              font-size: 12px;
          }

          八、下拉選擇框

          select{
              border-right: #000000 1px solid;
              border-top: #ffffff 1px solid;
              font-size: 12px;
              border-left: #ffffff 1px solid;
              color:#003366;
              border-bottom: #000000 1px solid;
              background-color: #f4f4f4;
          }

          九、線條文本編輯框

          .editbox{
              background: #ffffff;
              border: 1px solid #b7b7b7;
              color: #003366;
              cursor: text;
              font-family: "arial";
              font-size: 9pt;
              height: 18px;
              padding: 1px; 
          }

          十、多行文本框

          .multieditbox{
              background: #f8f8f8;
              border-bottom: #b7b7b7 1px solid;
              border-left: #b7b7b7 1px solid;
              border-right: #b7b7b7 1px solid;
              border-top: #b7b7b7 1px solid;
              color: #000000;
              cursor: text;
              font-family: "arial";
              font-size: 9pt;
              padding: 1px; 
          }

          十一、陰影風(fēng)格的表單

          .shadow {
              position:absolute;
              z-index:1000;
              top:0px;
              left:0px; 
              background:gray;
              background-color:#ffcc00;
              filter : progidximagetransform.microsoft.dropshadow(color=#ff404040,offx=2,offy=2,positives=true);
          }

          十二、只顯一條橫線的輸入框

          .logintxt{
              border-right: #ffffff 0px solid;
              border-top: #ffffff 0px solid;
              font-size: 9pt; /*www.52css.com*/
              border-left: #ffffff 0px solid;
              border-bottom: #c0c0c0 1px solid;
              background-color: #ffffff
          }

          十三、沒有邊框的輸入框

          .noneinput{
              text-align:center;
              width:99%;height:99%;
              border-top-style: none;
              border-right-style: none;
              border-left-style: none;
              background-color: #f6f6f6;
              border-bottom-style: none;
          }

          posted @ 2008-09-20 14:54 牛X書記 閱讀(386) | 評論 (0)編輯 收藏

               摘要: 1、載入dwr的jar文件               下載地址:http://www.cnweblog.com/Files/jimmy/dwr.rar    (將后綴名改為jar) 2、在web.xml中配制 &nbs...  閱讀全文

          posted @ 2008-09-20 11:06 牛X書記 閱讀(540) | 評論 (0)編輯 收藏

          使用Preferences API    參考資料

                  Preferences的誤解
                   首先要指明的是:Preferences API并不是為訪問Windows注冊表而設(shè)計(jì)的。

                  我們之所以會有上面的誤解是由于Sun的Windows版本的JDK在實(shí)現(xiàn)Preferences API時(shí)使用了Windows注冊表作為存儲庫,即我們用Preferences API存儲的數(shù)據(jù)會保存到Windows注冊表中,這樣Preferenes API也就有了訪問Windows注冊表的能力。但是換到其它的平臺或其它廠商的JDK實(shí)現(xiàn)又會怎么樣呢?這個(gè)問題是和Preferences API的實(shí)現(xiàn)相關(guān)的,我們沒有辦法回答。

                  Preferences適用的條件
                        如果程序不關(guān)心存儲庫的細(xì)節(jié),只是要找一個(gè)存放數(shù)據(jù)的地方,那么Preferences API很合適。

                  Preferences API的局限:
                  一個(gè)Java軟件,這次我在Sun的JDK上運(yùn)行并使用Preferences API保存了我的個(gè)人喜好,下次我在IBM的JDK上運(yùn)行,這時(shí)我的個(gè)人喜好還可以通過Preferences API得到嗎?可能可以也可能不可以,這時(shí)的行為是由Sun和IBM的Preferences API實(shí)現(xiàn)決定的。(在相同的JDK實(shí)現(xiàn)上可以使用Preferences API來在不同的程序間共享數(shù)據(jù))
                  一個(gè)Java軟件需要讓用戶設(shè)置是否和操作系統(tǒng)一起啟動,類似的需求還很多。這類需求就是要求Java程序有真正的和相關(guān)操作系統(tǒng)協(xié)同的能力。這種能力不是Preferences API的設(shè)計(jì)目標(biāo)。

          使用JNI    參考資料
                  Windows操作系統(tǒng)提供了操作注冊表的API,因此用JNI將Java和這些API連接起來我們就獲得了用Java操作注冊表的能力。這說起來有些簡單,實(shí)現(xiàn)起來卻需要處理大量的細(xì)節(jié)。幸運(yùn)的是這樣的工作已經(jīng)有人做了,我們要感謝他們。下面我們就來看看其中的一個(gè)包。

                   com.ice.jni.registry包是通過JNI(Java native interface)實(shí)現(xiàn)的Windows注冊表操作API,可以用來訪問、修改和導(dǎo)出Windows注冊表?,F(xiàn)在這個(gè)包已經(jīng)公開了,可以放心的使用而不必?fù)?dān)心license的問題,并且包括一個(gè)構(gòu)建好的DLL和Java、C的源代碼。它可以在Java 1.1和更高的版本上工作。



          下面詳細(xì)的描述一下這個(gè)包中的類,數(shù)量不是很多:

          • HexNumberFormat 用來格式化和分析十六進(jìn)制整數(shù)。
          • RegBinaryValue 表示類型為REG_BINARY的注冊表值。REG_BINARY是指任意形式的二進(jìn)制數(shù)。
          • RegDWordValue 表示類型為REG_DWORD的注冊表值。REG_DWORD是指一個(gè)32位的整數(shù)。根據(jù)該整數(shù)的字節(jié)序不同又分為REG_DWORD_LITTLE_ENDIAN和REG_DWORD_BIG_ENDIAN。在Windows中REG_DWORD和REG_DWORD_LITTLE_ENDIAN有相同的含義。
          • RegistryValue 表示任意類型的注冊表值,這是一個(gè)抽象類,不能被實(shí)例化。
          • RegMultiStringValue 表示類型為REG_MULTI_SZ的注冊表值。REG_MULTI_SZ是一個(gè)null-terminated的字符串的序列。
          • RegStringValue 表示類型為REG_SZ和REG_EXPAND_SZ的注冊表值。REG_SZ是指一個(gè)null-terminated的字符串,REG_EXPAND_SZ是指一個(gè)含有未展開的環(huán)境變量的null-terminated的字符串。
          • Registry 這個(gè)類定義了定級項(xiàng)(Key),包括HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、HKEY_CURRENT_USER、HKEY_DYN_DATA、HKEY_LOCAL_MACHINE、HKEY_PERFORMANCE_DATA和HKEY_USERS。還定義了錯(cuò)誤代碼,這些錯(cuò)誤代碼會包含在RegistryException中。最后是一些工具方法,如dumpHexData、exportRegistryKey、getErrorMessage、getTopLevelKey、openSubkey、parseArgumentString、parseArgumentVector、splitString和usage。
          • RegistryKey 定義了注冊表的一個(gè)表項(xiàng)(Key)和相關(guān)的一些操作。

          RegistryKey的方法概要:

          方法 簡短描述
          void closeKey() 關(guān)閉該subkey。
          RegistryKey connectRegistry(java.lang.String hostName) 連接遠(yuǎn)程主機(jī)hostName的注冊表。
          RegistryKey createSubKey(java.lang.String subkey, java.lang.String className) 創(chuàng)建和打開該key的subkey,具有寫權(quán)限。
          RegistryKey createSubKey(java.lang.String subKey, java.lang.String className, int access) 創(chuàng)建和打開該key的subkey,具有指定的權(quán)限。
          int decrDoubleWord(java.lang.String valueName) 該方法將消減REG_DWORD的值。
          void deleteSubKey(java.lang.String subKey) 刪除該subkey。
          void deleteValue(java.lang.String valueName) 刪除一個(gè)命名的值。
          static java.lang.String expandEnvStrings(java.lang.String exString) 展開exString中的環(huán)境變量。
          void export(java.io.PrintWriter out, boolean descend) 導(dǎo)出key。
          void finalize() 重載了的finalize()方法,確保能夠關(guān)閉key。
          void flushKey() 確保這個(gè)key被寫到磁盤,對性能有一定的影響。
          java.lang.String getDefaultValue() 得到該key的默認(rèn)值。
          java.lang.String getFullName() 得到key的全名。
          int getMaxSubkeyLength() 得到所有subkey名稱的最大長度。
          int getMaxValueDataLength() 得到所有subkey值的最大長度。
          int getMaxValueNameLength() 得到所有值的名稱的最大長度。
          java.lang.String getName() 得到該key的名稱。
          int getNumberSubkeys() 得到subkey的數(shù)量。
          int getNumberValues() 得到值的數(shù)量。
          java.lang.String getStringValue(java.lang.String valueName) 得到REG_SZ或REG_EXPAND_SZ的值。
          RegistryValue getValue(java.lang.String valueName) 得到valueName的值。
          boolean hasDefaultValue() 判斷該key是否有默認(rèn)值。
          boolean hasOnlyDefaultValue() 判斷該key是否只有默認(rèn)值。
          int incrDoubleWord(java.lang.String valueName) 該方法將增強(qiáng)REG_DWORD的值。
          java.util.Enumeration keyElements() 枚舉該key的subkey的名稱。
          RegistryKey openSubKey(java.lang.String subkey) 打開該key的subkey,具有寫權(quán)限。
          RegistryKey openSubKey(java.lang.String subKey, int access) 打開該key的subkey,具有指定的權(quán)限。
          java.lang.String regEnumKey(int index) 得到該key在index處的subkey。
          java.lang.String regEnumValue(int index) 得到該key在index處的subkey的值。
          void setCreated(boolean created) 設(shè)置該key的created狀態(tài)。
          void setValue(RegistryValue value) 設(shè)置該key的值。
          void setValue(java.lang.String valueName, RegistryValue value) 設(shè)置valueName的值。
          java.util.Enumeration valueElements() 枚舉該key的值的名稱。
          boolean wasCreated() 判斷該key是被opened還是被created和opened。



          最后我們來看一個(gè)代碼示例:

          package org.solol.test;
          import com.ice.jni.registry.NoSuchKeyException;
          import com.ice.jni.registry.RegStringValue;
          import com.ice.jni.registry.Registry;
          import com.ice.jni.registry.RegistryException;
          import com.ice.jni.registry.RegistryKey;
          /**
          * @author solo L
          *
          */
          public class JNIRegistryTest {
               /**
                * @param args
                */
               public static void main(String[] args) {
                 //創(chuàng)建注冊表項(xiàng)并設(shè)置相應(yīng)的值
                 try {
                   RegistryKey software = Registry.HKEY_LOCAL_MACHINE
                     .openSubKey("SOFTWARE");
                   RegistryKey subKey = software.createSubKey("SubKeyName", "");
                   subKey.setValue(new RegStringValue(subKey, "subKey1",
                     "subKey1Value"));
                   subKey.setValue(new RegStringValue(subKey, "subKey2",
                     "subKey2Value"));
                   subKey.closeKey();
                 } catch (NoSuchKeyException e) {
                   e.printStackTrace();
                 } catch (RegistryException e) {
                   e.printStackTrace();
                 }
                            
                 //打開注冊表項(xiàng)并讀出相應(yīng)的值
                 try {
                   RegistryKey software = Registry.HKEY_LOCAL_MACHINE.
                     openSubKey("SOFTWARE");
                   RegistryKey subKey = software.openSubKey("SubKeyName");
                   String subKey1Value = subKey.getStringValue("subKey1");
                   String subKey2Value = subKey.getStringValue("subKey2");
                   System.out.println(subKey1Value);
                   System.out.println(subKey2Value);
                   subKey.closeKey();
                 } catch (NoSuchKeyException e) {
                   e.printStackTrace();
                 } catch (RegistryException e) {
                   e.printStackTrace();
                 }                     
               }
          }
          
          創(chuàng)建的注冊表項(xiàng)如圖所示:

          輸出結(jié)果為:

          subKey1Value

          subKey2Value



          說明:我的體會“第一步:把下載下來的jar包加載到工程內(nèi),第二步,把與jar包在一起的dll文件拷貝到你jdk安裝目錄下\jre\bin文件夾下”

          posted @ 2008-09-20 10:32 牛X書記 閱讀(7074) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 高台县| 紫阳县| 珲春市| 太保市| 奉化市| 景东| 天全县| 东丽区| 孝昌县| 治多县| 凌海市| 惠东县| 绥江县| 墨玉县| 荃湾区| 定州市| 句容市| 余姚市| 唐山市| 杨浦区| 蓬莱市| 汶上县| 玉环县| 肃北| 红安县| 桓仁| 莱芜市| 海城市| 卓尼县| 博爱县| 永康市| 郁南县| 澜沧| 五常市| 吉安县| 丹江口市| 陕西省| 哈密市| 武邑县| 科技| 汶上县|