<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 37,  comments - 9,  trackbacks - 0
    BOM:Browser Object Model,瀏覽器對象模型。BOM是由一系列的對象組成的。其結構如下圖所示。


    可以看出,window對象是整個BOM的核心,因此,先討論window對象。
    (1)使用框架集的情況下
            使用框架集合的情況下,每個框架都由他自身的window對象表示,存放在frames集合中。可以通過數字或者名字對框架進行索引。看例子:
    <html>
        
    <head></head>
        
    <frameset rows="100,*">
            
    <frame src="frame.html" name="topFrame" />
            
    <frameset cols="50%,50%">
                
    <frame src="anothorFrame.html" name="leftFrame"/>
                
    <frame src="yetAnothorFrame.html" name="rightFrame"/>
            
    </frameset>
        
    </frameset>
    </html>
            我們可以通過window.frames[0]或者window.frames["topFrame"]引用頂層的框架。由于window對象是整個BOM的核心,因此再寫上面的代碼時,可以忽略window對象不寫,直接寫frames[0]或者frames["topFrame"]即可。
            在框架中使用window對象,代表的是該框架本身。因此,還引入了top對象。該對象指向的是對頂層的框架,也就是瀏覽器窗口。
            此外,還有一個parent對象。顧名思義,parent指向該框架的父框架。看例子。
    <!--parent.html-->
    <html>
        
    <head></head>
        
    <frameset rows="100,*">
            
    <frame src="frame.html" name="topFrame" />
            
    <frameset cols="50%,50%">
                
    <frame src="anothorFrame.html" name="leftFrame"/>
                
    <frame src="anotherframeset.html" name="rightFrame"/>
            
    </frameset>
        
    </frameset>
    </html>
           其中,anotherframeset.html的代碼如下:
    <!--anotherframeset.html-->
    <html>
     
    <head>
      
    <title></title>
     
    </head>
     
    <body>
        
    <frameset cols="100,*">
            
    <frame src="red.html" name="redFrame"/>
            
    <frame src="blue.html" name="blueFrame"/>
        
    </frameset>
     
    </body>
    </html>
            如果在red.html或者blue.html中,parent指向parent.html中的rightFrame。如果代碼寫在parent.html中的topFrame中,那么parent指向top對象,也就是瀏覽器窗口。還有一個指針self,它總是等于window。

    參考書:
    《JavaScript高級編程》Nicolas C. Zakas著, 曹力 張欣 等譯。
    posted @ 2011-10-18 12:22 wawlian 閱讀(473) | 評論 (0)編輯 收藏
    修改host,加入 

    203.208.46.146 www.google.com 
    203.208.46.147 www.google.com.hk 
    203.208.46.132 clients1.google.com 
    203.208.46.149 mail.google.com 
    203.208.46.161 chatenabled.mail.google.com 
    203.208.46.161 mail-attachment.googleusercontent.com
    哈哈,找到解決辦法,速度明細加快 
    posted @ 2011-10-14 14:56 wawlian 閱讀(682) | 評論 (0)編輯 收藏
    以下內容均是來自《鋒利的jQuery》,發到這里,純屬做個筆記,方便查閱。
    直接看代碼:

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     2         "http://www.w3.org/TR/html4/loose.dtd">
     3 <html>
     4 <head>
     5     <title></title>
     6     <script type="text/javascript" src="jquery-1.3.1.js">
     7 
     8     </script>
     9 
    10     <script type="text/javascript">
    11         $().ready(
    12             function() {
    13 
    14                 //表單對象屬性過濾選擇器
    15                 //1改變表單內可用元素的值
    16                 //$('#form1 input:enabled').val("這里變化了");
    17 
    18                 //2改變表單內不可用元素的值
    19                 //$('#form1 input:disabled').val("這里變化了");
    20 
    21                 //3選取多選框中選中的個數
    22                 //alert($('#form1 input:checked').length);
    23 
    24                 //4選取下拉框中選中的內容
    25                 alert($('#form1 select :selected').length);
    26             }
    27         );
    28     </script>
    29 </head>
    30 <body>
    31     <form action="" id="form1">
    32         可用元素:<input name="add" value="可用文本框"/><br/>
    33         不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br/>
    34         可用元素:<input name="che" value="可用文本框"/><br/>
    35         不可用元素:<input name="name" disabled="disabled" value="不可用文本框"/><br/>
    36 
    37         <br/>
    38         多選框:<br/>
    39         <input type="checkbox" name="newsletter" checked="checked" value="test1"/>test1
    40         <input type="checkbox" name="newsletter" value="test2"/>test2
    41         <input type="checkbox" name="newsletter" value="test3"/>test3
    42         <input type="checkbox" name="newsletter" checked="checked" value="test4"/>test4
    43         <input type="checkbox" name="newsletter" value="test5"/>test5
    44 
    45         <div></div>
    46         <br/><br/>
    47         下拉列表:<br/>
    48         <select name="test" multiple="multiple" style="height:100px">
    49             <option>浙江</option>
    50             <option selected="selected">湖南</option>
    51             <option>北京</option>
    52             <option selected="selected">天津</option>
    53             <option>廣州</option>
    54             <option>湖北</option>
    55         </select>
    56 
    57         <br/><br/>
    58         下拉列表2:<br/>
    59         <select name="test2">
    60             <option>浙江</option>
    61             <option>湖南</option>
    62             <option selected="selected">北京</option>
    63             <option>天津</option>
    64             <option>廣州</option>
    65             <option>湖北</option>
    66         </select>
    67 
    68         <div></div>
    69     </form>
    70 </body>
    71 </html>
    posted @ 2011-06-17 16:51 wawlian 閱讀(307) | 評論 (0)編輯 收藏
         摘要: 以下內容均是來自《鋒利的jQuery》,發到這里,純屬做個筆記,方便查閱。直接看代碼:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 <!DOCTYPE HTML PUBLIC ...  閱讀全文
    posted @ 2011-06-17 16:11 wawlian 閱讀(906) | 評論 (0)編輯 收藏
    MyEclipse 9.0 安裝了Flash Builder4.5,界面菜單都變成中文的了,完全不適應。
    如果不習慣中文界面, 改回英文界面吧。只需要為 flash builder 加上啟動參數
    " -clean -nl en_US "
    完成后記得將 -clean 去掉,以免每次啟動 flash builder 都執行清理動作而浪費時間。
    posted @ 2011-06-15 14:04 wawlian 閱讀(540) | 評論 (0)編輯 收藏

    下載正確的版本,然后修改refhost.xml文件


    然后解壓,在目錄中找到refhost.xml(有兩個,我的一個是在stage\prereq\db目錄下,一個是在stage\prereq\db_prereqs\db目錄下)進行添加修,添加如下代碼:

    <!--Microsoft Windows 7-->
    <OPERATING_SYSTEM>
    <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>

    注:如果安裝的是客戶端,將路徑中的db改為client即可。

    而后還要修改一個oraparam.ini文件,在install目錄下

    先在[Certified Versions]
    #You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
    #Windows=5.0,5.1,5.2,6.0,6.1

    注:即在#Windows=5.0,5.1,5.2后面添加 ,6.0,6.1

    再添加下面代碼:

    #[Windows-6.1-required]
    #Minimum display colours for OUI to run
    MIN_DISPLAY_COLORS=256
    #Minimum CPU speed required for OUI
    #CPU=300
    #[Windows-6.1-optional]


    以管理員身份運行setup.exe

    posted @ 2011-06-02 21:13 wawlian 閱讀(656) | 評論 (1)編輯 收藏
     1 //升序插入排序
     2     public static int[] insertSort(int[] a) {
     3         for(int i = 1; i < a.length; i++) {
     4             int j = i-1;
     5             int tmp = a[i];
     6             while(j >= 0 && a[j] > tmp) {
     7                 a[j+1= a[j];
     8                 j = j -1;
     9             }
    10             a[j+1= tmp;
    11         
    12         }
    13         
    14         return a;
    15     }
    16     
    17     //降序插入排序
    18     public static int[] insertSortDesc(int[] a) {
    19         for(int j=1; j < a.length; j++) {
    20             int i = j - 1;
    21             int key = a[j];
    22             while(i >= 0 && a[i] < key) {
    23                 a[i+1= a[i];
    24                 --i;
    25             }
    26             a[i+1= key;
    27         }
    28         return a;
    29     }
    posted @ 2011-05-25 14:02 wawlian 閱讀(172) | 評論 (0)編輯 收藏

    在flex4中,滾動條是屬于group的,flex4中沒有了直接的垂直和水平滾動條,取而代之的是用一個group里面包含了一個scroller,這個scroller有2個屬性,垂直和水平滾動條。

    如果TextArea要隱藏或者顯示滾動條,用style
    horizontalScrollPolicy和verticalScrollPolicy,而不是3的mx里面的屬性。

    而將滾動條移至底端,不能直接設置verticalScrollPosition,而用以下方法
    <s:TextArea x="30" y="10" width="175" id="txt"/>
    <fx:Script>
        txt.text = "xxxx...";
        txt.validateNow();
        txt.scroller.verticalScrollBar.value = txt.scroller.verticalScrollBar.maximum;
    </fx:Script>


    validateNow方法驗證并更新此對象的屬性和布局,如果需要的話重繪對象。
    這個方法比較重要,因為在flex里面不會像flash設置了text立即就會顯示文本的高度和寬度。非要重繪,或者,監聽enterFrame或者其它事件,等控件外觀更新完成后,才能真正獲取到寬度,高度,verticalScrollBar.maximum,等文字相關屬性。


    posted @ 2011-04-24 17:16 wawlian 閱讀(2619) | 評論 (0)編輯 收藏
    http://piziwang.iteye.com/blog/479825 
    posted @ 2011-04-23 23:35 wawlian 閱讀(371) | 評論 (0)編輯 收藏

    在開發過程中,我們經常會遇到讀取配置文件的情況,對于配置文件的讀取,根據環境等情況又各有不同,一般情況下,如果從非jar包中使用相對/路徑,比較簡單,就不在累述了,而在很多
    情況下,我們需要把我們的class打包成jar文件,進行使用,這時就會發現,我們先前如果沒有考慮到這些,可能就行不通了,那么,該如何解決呢?方法如下

    有如下路徑 :
    Web-info--|-->classes--->conf-->config.properties
       |-->lib
    此時加入我們需要讀取config.properties,在不使用jar包時,使用如下方式讀取,不失為一種方法:
    File f = new File(this.getClass().getResource("/").getPath());
    f = new File(f.getPath() + "/conf/config.properties");
    注:f.getPath()即為當class所在的絕對路徑。如:c:\javasrc\web-inf\classes
    然后,對文件對象進行處理,就能把配置信息讀取出來了,但是加入如上class被打包成jar文件,那么,在程序執行到這里時,就會無法找到配置文件,那么該如何處理呢?
    處理方法如下:
    String s_config="conf/config.properties";
     InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
    if( in == null ){
     System.out.println( " 打開 " + s_config + "失敗!" );
    }else
    {
    Properties properties = new Properties();
    properties.load(in);
    //
    //接下來就可以通過properties.getProperty(String obj)方法對進行配置信息讀取了
    }

     

    本文來自CSDN博客,轉自:http://blog.csdn.net/wjmmml/archive/2004/09/27/118404.aspx

    posted @ 2011-04-22 20:46 wawlian 閱讀(285) | 評論 (0)編輯 收藏
    http://lqw.iteye.com/blog/538238
    posted @ 2011-04-20 16:04 wawlian 閱讀(245) | 評論 (0)編輯 收藏

    我自己在學習Flex的時候碰到了這個問題,上網找了一些覺得都很麻煩。因為我是使用RemoteObject和Java

    結合,后臺還集成了spring。在jsp中要獲取客戶端IP地址最簡單的辦法就是拿到request對象,但是我是獲取的spring中的bean,通過spring好像不行,但是我在查看springfactroy代碼的時候有個非常發現:

    就是flex.messaging.FlexContext這個類有個靜態方法:flex.messaging.FlexContext.getHttpRequest()

    取到HttpRequest后面在拿getRemoteAddr就不用多說了:

       flex.messaging.FlexContext.getHttpRequest().getRemoteAddr()就這么簡單.呵呵。

    我的環境是Java+spring+blazeds+flex+RemoteObject實現。

    posted @ 2011-04-20 15:57 wawlian 閱讀(1064) | 評論 (0)編輯 收藏
    http://wawlian.javaeye.com/blog/975029
    posted @ 2011-03-25 11:25 wawlian 閱讀(188) | 評論 (0)編輯 收藏

    1.云計算基礎

    1.1云計算概述

    1.1.1 解惑——什么是云計算 

          實質上,云計算是一種構造,它允許訪問實際駐留在你的計算機以外的某個位置或者其他Internet連接的設備上的應用程序。通常,它是遠程數據中心。

          云計算的優點是:另一家公司托管你的應用程序,這意味著他們處理服務器費用,管理軟件更新,而你為服務支付相對較少的費用。

          云計算缺點:弱連接(網絡故障、出于安全的考量);集成問題(如果應用程序在地理上是分散的,那么很難管理他們)

    1.1.2 云組件

          從簡單的拓撲方面來說,云計算解決方案由以下幾部分組成:客戶、數據中心、分布式服務器。

          1.客戶:與普通局域網的客戶一樣

          2.數據中心:用于存放你預定的應用程序的服務器集合。

          3.分布式服務器:服務器不必全都安在一個位置。通常,服務器在地理上是分散的。但是對于你(云用戶)來說,這些服務器工作時,就好像它們是彼此相鄰的。

    1.1.3 基礎設施

          1.網格計算

     

          人們通常把網格計算和云計算弄混淆,實際上它們區別非常大。網格計算在同一時間針對單個問題把網絡中的眾多計算機資源應用于工作。

          網格計算需要使用某種軟件,他可以劃分程序段,然后把他們發送給數千臺計算機。可以在組織的所有計算機上完成這個任務,或者以公共協作的形式完成它。

          由于以下原因,網格計算變得非常吸引人:

          (1)它是一種使用給定數量的計算機資源的經濟的方式

          (2)它可以解決需要很高計算性能的問題

          (3)可以協作式共享很多計算機的資源,而無需一臺計算機管理其他計算機。

     

          2.完全虛擬化

     

          完全虛擬化是使完全安裝的一臺機器在另一臺機器上運行的技術。結果會得到一種系統,其中,在服務器上運行的所有軟件都位于虛擬機內。

          這種方式不僅允許運行獨特的應用程序,而且允許運行不同的操作系統。虛擬化與云計算相關,因為它是訪問云上服務的方式之一。也就是說,遠程數據中心可能以完全虛擬化的方式提供服務。

          為了實現完全虛擬化,必須借助特定的硬件組合。知道2005年,AMD-Virtualization(AMD-V)和Intel Virtualization Technology(IVT)擴展的引入才使得完全虛擬化成為可能。

          完全虛擬化優點:

          (1)在多個用戶中共享計算機系統

          (2)把用戶之間隔開以及把用戶和控制程序之間隔開

          (3)仿真另一臺計算機的硬件。

     

          3.半虛擬化

          半虛擬化通過高效的使用系統資源,允許同時在單個硬件設備上運行多個操作系統。

          在完全虛擬化中,將仿真整個系統,但是在半虛擬化中,管理模塊與虛擬機中的系統協同工作。在半虛擬化系統中,可以同時運行許多不同的操作系統。

          半虛擬化在以下方面表現的最佳:

          (1)災難恢復:發生災難,可以將Guest系統移植別的硬件

          (2)遷移:方便遷移

          (3)容量管理:虛擬化環境中會更加容易添加更多處理能力或硬盤。

    posted @ 2011-03-22 11:14 wawlian 閱讀(345) | 評論 (0)編輯 收藏

    XMLHttpRequest的readyState:

    0:未初始化——創建

    1:初始化——open

    2:發送請求——send

    3:開始接受結果

    4:接收結果完畢

    狀態每改變一次,調用一次回調函數。方法調用5次,但是前兩次的readyState==1

     

    onreadystatechange = callback

    綁定回調函數,不加()。

     

    XMLHttpRequest的status:

    200 OK

    404 Not Found

    500 Serevr Error

     1 var xmlHttpRequest;
     2     
     3     //創建XMLHttpRequest對象
     4     function createXmlHttpRequest() {
     5         var xmlHttp;
     6         if(window.ActiveXObject) {
     7             try {
     8                 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
     9             } catch (e) {
    10                 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    11             }
    12         }else if(window.XMLHttpRequest) {
    13             xmlHttp = new XMLHttpRequest()
    14         }
    15         
    16         return xmlHttp;
    17     }
    18     
    19 
    20     function checkExist() {
    21         xmlHttpRequest = createXmlHttpRequest();
    22         xmlHttpRequest.onreadystatechange = callBack;
    23         
    24         var url = "http://localhost:8080/Ajax/CheckUser?uname="+document.getElementById("userName").value;
    25         
    26         xmlHttpRequest.open("GET", url, true);
    27         xmlHttpRequest.send(null);
    28     }
    29     
    30     function callBack() {
    31         if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
    32             var result = xmlHttpRequest.responseText;
    33             //
    34         }
    35     }
    posted @ 2011-03-14 15:36 wawlian 閱讀(216) | 評論 (0)編輯 收藏

    Ajax中請求被緩存的問題

    在Ajax開發中,會遇到瀏覽器緩存內容的問題,比如,某個元素注冊了鼠標事件(onmouseover),事件觸發后會通過 xmlhttprequest到服務器獲取內容,在不刷新頁面的情況下,瀏覽器會緩存第一次請求的內容,服務端更新后瀏覽器仍然顯示第一次的內容。

    通常,這種請求都是xmlhttprequest發起的GET請求。根據 HTTP 規范,GET 用于信息獲取,而且應該是冪等的。也就是說,當使用相同的URL重復GET請求會返回預期的相同結果時,GET方法才是適用的。當對一個請求有副作用的時候(例如,提交數據注冊新用戶時),應該使用POST請求而不是GET。所以瀏覽器會對GET請求做緩存處理。

    解決辦法:

    一. GET請求URL后附加字串,讓服務器認為不是相同的請求。

    例 "http://www.example.com/index.php?class=aitcle&page=5&_t=" + new Date().getTime()

    二. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0")

    三. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");

    四. 服務端響應請求時加 header("Cache-Control: no-cache, must-revalidate"); (PHP)

    五. 使用POST代替GET,瀏覽器不會對POST做緩存

     

     

    轉自 http://yanglei008.javaeye.com/blog/222401

    posted @ 2011-03-14 15:34 wawlian 閱讀(395) | 評論 (0)編輯 收藏
    唯一約束

    唯一約束與創建唯一索引基本上是一回事,因為在創建唯一約束的時候,系統會創建對應的一個唯一索引,通過唯一索引來實現約束。不過唯一約束更直觀的表達了對應列的唯一性,使得對應索引的目的更加清晰,所以一般建議創建唯一約束而不是只創建唯一索引。

    在PD中創建唯一約束的操作,以教室表來說,RoomID是主鍵,必然是唯一的,RoomName如果我們也要去必須是唯一的,那么具體操作如下:

    在PD的模型設計面板中,雙擊“教室”表,打開屬性窗口,切換到"”Keys”選項卡,可以看到里面有一行數據PK_ClassRoom,這是主鍵約束。添加一行數據,命名為UQ_RoomName,不能將右邊的“P”列選上,然后單擊工具欄的“屬性”按鈕,彈出UQ_RoomName的屬性窗口,切換到列選項卡,單擊增加列按鈕,選擇將RoomName列添加到其中,然后單擊確定即可完成唯一約束的添加。



    這樣系統就會自動創建唯一約束。

    CHECK約束

    CHECK分為列約束和表約束,列約束是只對表中的某一個列進行的約束,可以在列的屬性中進行設置,而表約束是對多個列進行的約束,需要在表的屬性中進行設置(其實列約束也可以在表約束中設置)。

    1.標準CHECK約束

    對于一些常用的CHECK約束,可以直接通過設置界面來完成。以班級表為例,ClassName每個學校有自己的命名規則,假設這里規定ClassName必須以2開頭,那么需要在ClassName列上定義CHECK約束,使得其滿足命名規范。具體操作是在PD中雙擊Class表,打開Class的屬性窗口,切換到列選項卡,選擇ClassName列,單擊工具欄的“屬性”按鈕,彈出ClassName的屬性窗口,切換到StandardChecks選項卡如圖:



    在這個選項卡可以定義屬性的標準檢查約束,窗口中每項的參數的含義,如下:

    參數 說明
    Minimum 屬性可接受的最小數
    Maximum 屬性可接受的最大數
    Default 屬性不賦值時,系統提供的默認值
    Unit 單位,如公里、噸、元
    Format 屬性的數據顯示格式
    Lowercase 屬性的賦值全部變為小寫字母
    Uppercase 屬性的賦值全部變為大寫字母
    Cannot modify 該屬性一旦賦值不能再修改
    List Of Values 屬性賦值列表,除列表中的值,不能有其他的值
    Label 屬性列表值的標簽
    2.直接編寫SQL語句的CHECK約束

    在前面彈出ClassName屬性窗口中,單擊左下角的“More”按鈕,系統將彈出更多的選項卡,切換到“Additional Checks”選項卡,可以設置約束名和具體的約束內容,如圖所示:



    表級的CHECK約束與列級的CHECK約束設置類似,單擊表屬性窗口左下角的“More”按鈕,切換到Check選項卡,設置CHECK約束的命名和SQL語句內容。



    3.使用Rule創建約束

    同樣以班級名必須以2開頭為例,通過Rule創建CHECK約束。首先需要創建一個Rule,雙擊Class表,打開表的屬性窗口,切換到Rules選項卡,單擊“Create a Object”按鈕,系統將打開一個業務規則屬性窗口,修改規則名,并將規則的類型修改為Constraint,如圖所示:



    然后切換到Expression選項卡,設置規則的內容為“ClassName LIKE '2%'”,單擊確定按鈕即可完成Rule的設置。切換到表屬性的Check選項卡,默認約束內容中的“%RULES%”就是用來表示Rule中設置的內容,如果我們還有一些其他的CHECK約束內容,不希望在Rule中設置,而是在Check選項卡中設置,那么只需要刪除%RULES%將CHECK約束內容添加進去,也可以保留%RULES%,然后在與%RULES%之間添加一個and即可。比如規定ClassID必須小于10000,那么我們可以將Check內容設置如下:



    生成的腳本如下:

    create table Class (
       ClassID              int                  not null,
       ClassName            varchar(20)          not null,
       constraint PK_CLASS primary key nonclustered (ClassID),
       constraint CKT_CLASS check (ClassID<10000),
       constraint ClassNameRule check (ClassName LIKE '2%')
    )
    go

    可以看到,根據Rule生成的CHECK約束與在Check選項卡中設置的約束將分別創建一個約束,相互并不影響。

    默認約束

    默認約束是用戶在沒有輸入值的情況下,系統給出默認的值。最常用的是CreateTime字段,設置默認值為getdate(),在用戶創建一行數據時記錄下創建時間。例如對于選課表,需要記錄下選課的時間,則可以設置ApplyTime的默認值為getdate()函數。



    設置默認值約束的操作如下:雙擊選課表,打開表屬性窗口,選擇ApplyTime字段,單擊工具欄的屬性按鈕,打開列的屬性窗口,切換到Standard Checks選項卡,在Default下拉列表框中選擇getdate()即可。



    至此我們所有的約束在PD中的設置都介紹完了,下一篇將介紹視圖、存儲過程等數據庫對象。

    from: http://www.cnblogs.com/studyzy/archive/2009/12/17/1626650.html
    posted @ 2011-02-14 20:32 wawlian 閱讀(1685) | 評論 (0)編輯 收藏
    通過jQuery選擇器獲取到的永遠是一個對象,幾十頁面上根本沒有該元素。因此,如果要使用jQuery檢查元素再給某個頁面上是否存在的時候,不能使用以下代碼:
    1if ($("#tt")) {
    2    //do sth.
    3}
    而應該通過獲取到的元素的長度來判斷,代碼如下:
    1if ($("#tt").lenght > 0{
    2    //do sth
    3}
    或者通過轉換成JavaScript對象的方式來進行處理:
    1if ($("#tt")[0]) {
    2    //do sth
    3}
    posted @ 2011-01-10 10:55 wawlian 閱讀(7641) | 評論 (1)編輯 收藏
     

    選擇器

    語法

    描述

    實例

    標簽選擇器

    E{

        CSS規則

    }

    以文檔元素作為選擇符

    td{

    font-size:14px

    width:120px

    }

    ID選擇器

    #ID{

        CSS規則

    }

    以文檔元素的唯一標識ID作為選擇符

    #note {

        font-size:14px

    width:120px

    }

    類選擇器

    E.classname {

        CSS規則

    }

    以文檔元素的class作為選擇符

    .dream {

        font-size:14px

    }

    群組選擇器

    E1,E2,E3 {

        CSS規則

    }

    多個選擇符應用同樣的樣式

    td,p,div.a {

        font-size:14px

    }

    后代選擇器

    E F {

        CSS規則

    }

    元素E的任意后代元素F

    #links a {

        font-size:14px

    }

    通配選擇器

    * {

        CSS規則

    }

    以文檔的所有元素作為選擇符

    *{

        font-size:14px

    }

    posted @ 2011-01-10 10:49 wawlian 閱讀(156) | 評論 (0)編輯 收藏
    見代碼和注釋
     1import java.text.SimpleDateFormat;
     2import java.util.Calendar;
     3import java.util.Date;
     4import java.util.GregorianCalendar;
     5public class DateTesting {
     6/**
     7@param args
     8*/

     9public static void main(String[] args) {
    10   // TODO Auto-generated method stub
    11  
    12  
    13   //1、如何根據給定的年月日構造日期對象
    14   //需要構造2008-3-15
    15   //用GregorianCalendar類描述日期時,由于月份是從0開始計數的,所以實際的月份值總是比計數值大1.
    16   GregorianCalendar calendar=new GregorianCalendar(2008,2,15);
    17   Date tempDate=calendar.getTime();
    18   System.out.println(tempDate.toLocaleString());
    19  
    20   SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
    21   System.out.println(sdf.format(tempDate));
    22  
    23  
    24   //2、如何根據給定的日期對象分解年、月、日
    25        //獲取系統當前時間
    26   Date currentDate=new Date();
    27   System.out.println(currentDate.getTime());
    28   GregorianCalendar ca=new GregorianCalendar();
    29   ca.setTime(currentDate);
    30   int year=ca.get(Calendar.YEAR);
    31   int month=ca.get(Calendar.MONTH)+1;
    32   int day=ca.get(Calendar.DAY_OF_MONTH);
    33  
    34   System.out.println("年份的值: "+year);
    35   System.out.println("月份的值: "+month);
    36   System.out.println("一個月中某天的值: "+day);
    37  
    38  
    39   //3、給定兩個日期: 2008-8-10   2008-8-16 日 ,需要計算這兩個日期之間相差的天數
    40   //在JAVA語言系統中,所有的時間都是以1970年1月1日,00時00分00秒000毫秒為時間的開始點計算的。
    41  
    42   GregorianCalendar firstCa=new GregorianCalendar(2008,7,10);
    43   Date firstDate=firstCa.getTime();
    44  
    45  
    46   GregorianCalendar secondCa=new GregorianCalendar(2008,7,16);
    47   Date seconDate=secondCa.getTime();
    48  
    49   long distance=seconDate.getTime()-firstDate.getTime();
    50   int result=(int)(distance/86400/1000);
    51   System.out.println("間隔的天數: "+result);
    52  
    53  
    54   //4、給定一個日期,例如:2008-4-21, 如何計算15天以后的時間日期???
    55  
    56   GregorianCalendar tpCalendar=new GregorianCalendar(2008,3,20);
    57   Date tpDate=tpCalendar.getTime();
    58  
    59   long tp=tpDate.getTime();
    60   tp=tp+8*86400*1000;
    61   tpDate.setTime(tp);
    62   System.out.println(sdf.format(tpDate));
    63  
    64}

    65}

    66
    posted @ 2011-01-03 21:08 wawlian 閱讀(173) | 評論 (0)編輯 收藏
    CVSNT是服務器管理工具,再在客戶端下個WINCVS就可以(關于wincvs使用,可以在網上找下,因為eclipse已經很好地集成了 cvs)就可以一起協同工作了。這二天我從下載CVSNT到用eclipse新建項目,共享項目,不同的客戶端導入項目都在公司局域網內的不同機子上測試 通過。記錄如下:

    首先從http://www.cvsnt.org處下得你想要的cvsnt版本,我下的是2.5.03,安裝完成后。從程序中打開cvsnt control panel(CVSNT 控制面板)。下面開始配置CVSNT,主要是創建資源并讓它可以通過客戶端的IDE (eclipse)來訪問。

      開始配置cvsnt

      a 查看運行狀態:
      在about面板有個cvsnt  和 cvsnt lock二個選項,這兒可以對其進行start,stop服務

      b 添加資源
      在repository config面板中可以添加刪除資源,這兒主要設定了repository 的name and  root值。如我在這兒將name設置為\mycvs,root為e:\mycvs。創建后會在對應的目錄下生成cvsroot文件夾及cvs相關配置文 件。 OK,確定。這個地方可以要重啟服務才能生效

      c 兼容:
      在conpatibility option 面板上選擇兼容的版本,注意一定要勾上respond as cvs 1.11.2 to version request,為了與eclipse中的cvs兼容(在eclipse中的cvs版本很可能與你cvsnt版本不同)。

    好了,現在服務器上的資源路徑已經設定好了。


    通過IDE共享一個工程  


    打開eclipse新建一個項目,然后在項目上右擊/team/share project (小組/共享項目),在彈出的share  project whith cvs reposity對話框中選擇一個cvs路徑(第一次當然是新建了),在host中填入CVSNT的主機地址如:192.168.12.17,在 repository path中填入cvsnt中的name值如:/mycvs。user中寫cvsnt所分配的用戶名,password中寫入密碼(下面將會講些cvs中如 何管理用戶)。在connection type中一般選擇pserver連接類型。然后就是記住密碼什么的...  :-)。OK ,NEXT提示一路完成!

       
    在客戶端從cvs上導入共享工程:


    在客戶端的eclipse中打開cvs視圖,根據CVSNT的路徑及其給你所分配的用戶相關信息新建一個CVS的資源路徑。ok,開始引入共享工程了:

    可以直接從cvs中check out出來,也可以從new/project/cvs/projects from cvs。選中你剛剛把建立cvsnt資源路徑,你可以在use an existing module中看到所有的共享項目了。然后選擇一個你想導入的項目check out出來到本機....

      全部完成^_^,本來想剪幾個圖上來的,有些麻煩,太不方便了。不過過程比較簡單,很快就可以搞定。客戶端將cvsnt上的工程檢出是比較 簡單的。主要是在cvsnt上的相關配置。我在網上找了些資料,完成了如添加不同的用戶。介紹有個cvsnt的GUI工具可以直接圖形化操作。看介紹很 easy ,下載URL:http://www.kdeopen.com(偶一直打不開,郁悶,希望各位運氣比我好) 。我只好在控制臺下添加刪除用戶了。

      cvsnt用戶管理

      在用戶管理中以下是cvs的一些命令參數
    Usage: cvs passwd [-a] [-x] [-X] [-r real_user] [-R] [-D domain] [username]
             -a      Add user
             -x      Disable user
             -X      Delete user
             -r      Alias username to real system user
             -R      Remove alias to real system user
             -D      Use domain password

      服務器工作在CVSNT用戶單一驗證方式下的時候,文件passwd定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名 信息。默認狀態下 沒有該文件,但是我們可以在CVSNT還工作在混合驗證方式下時,用系統管理員登錄,通過添加用戶命令來讓CVSNT自動建立一個passwd文件。

     登錄:login
      cvs -d :pserver:administrator@127.0.0.1:/mycvs login

     添加用戶
      cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -a zyx

    之后系統提示輸入密碼,輸入后服務器會新建一個passwd文件。該文件的內容很簡單,形式如下:

    zyx:YT2p2NmdmUlEg:

      以第一行為例:zyx為用戶名,YT2p2NmdmUlEg為CVS使用UNIX標準加密函數對密碼進行加密后的結果。

      若想以混合驗證的方式驗證得對應一個window的系統用戶名(zyinxin),這時就用參數-r來指定,如:
          cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -r zyinxin -a zyx 

    這時生成文件內容如下:
    zyx:YT2p2NmdmUlEg:zyinxin
    zyinxin為該用戶的別名(它是參考系統用戶),

    注意:這個文件是不能在客戶端進行修改的,不能checkout出來。

      添加完成后你可以通過login來測試用戶zyx是否創建成功

      刪除用戶:
      cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -x zyx




    附:參考了網上一些資料,剛剛學習,愿一起進步。謝謝!

    posted @ 2011-01-02 16:34 wawlian 閱讀(672) | 評論 (0)編輯 收藏

    <2011年1月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲午夜成激人情在线影院| 99视频精品全部免费观看| 亚洲国产高清美女在线观看| 亚洲欧洲日产国码一级毛片| 好男人看视频免费2019中文| 久久99国产综合精品免费| 中文字幕在线免费视频| 黄色一级毛片免费| 亚洲国产高清国产拍精品| 亚洲免费电影网站| 97se亚洲综合在线| 亚洲成AV人片在线观看WWW| 亚洲精品无码成人片在线观看 | 亚洲综合av永久无码精品一区二区| 四色在线精品免费观看| 野花高清在线观看免费完整版中文 | 野花视频在线官网免费1| 亚洲精品9999久久久久无码| 精品亚洲国产成人| 亚洲免费中文字幕| 亚洲国产模特在线播放| 亚洲精品视频在线播放| 亚洲图片中文字幕| 亚洲综合丁香婷婷六月香| 亚洲永久永久永久永久永久精品| 久久精品国产亚洲网站| 久久亚洲精品成人| 亚洲AV日韩精品久久久久| 亚洲AV人无码激艳猛片| 亚洲AV乱码久久精品蜜桃| 亚洲av日韩综合一区在线观看| 国产成人无码综合亚洲日韩| 亚洲AV无码久久精品成人| 水蜜桃亚洲一二三四在线| 亚洲精品线在线观看| 亚洲成人高清在线观看| 亚洲a级成人片在线观看| 国产99在线|亚洲| 亚洲av永久无码精品网址| 久久亚洲中文字幕无码| 特a级免费高清黄色片|