posts - 15,comments - 65,trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章檔案

          blog

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

               摘要:         本文最先發表在本人的個人博客http://www.lovestblog.cn         先把題目曬出來,這個題目不是很難,但是當時僅僅因為輸出的問題折騰了我大半天,在ACM提供的運行環境中只有到最后才能把結果輸出,不能在中途就把結果輸...  閱讀全文
          posted @ 2009-05-26 11:00 你假笨 閱讀(1748) | 評論 (0)編輯 收藏
                            本文最先發表在本人個人java+flex技術博客http://www.lovestblog.cn,歡迎大家光臨。(轉載的請不要刪除該行,謝謝合作)
              這兩天接了一個網站,比較簡單兩三天就基本搞定了,但是其中碰到最難的就是flex的一個中文問題了,下面我主要想講講三種不同的現象。 
          •     第一種:    Image組件的源地址是中文的,比如resources/數學/高等數學/math.jpg; 
               tomcat中的server.xml中配置端口的那段加上 URIEncoding="utf-8"; 
               直接訪問資源地址如:http://localhost:8080/WebTest/resources/數學/高等數學/math.jpg; 
               這種情況下Image組件不能顯示出來,下面直接訪問的地址能訪問到數據。 
          •    第二種:    Image組件的源地址是GBK的,比如比如resources/數學/高等數學/math.jpg; 
               tomcat中的server.xml中配置端口的那段加上 URIEncoding="GBK"; 
               直接訪問資源地址如:http://localhost:8080/WebTest/resources/數學/高等數學/math.jpg; 
               這種情況下Image組件式能顯示出來的,但是直接訪問的那個地址是不能訪問到數據的。 
          •    第三種:   mage組件的源地址是utf-8的,比如resources/%E6%95%B0%E5%AD%A6/%E9%AB%98%E7%AD%89%E6%95%B0%E5%AD%A6/math.jpg; 
              tomcat中的server.xml中配置端口的那段加上 URIEncoding="utf-8"; 
              直接訪問資源地址如:http://localhost:8080/WebTest/resources/數學/高等數學/math.jpg; 
                這種情況下Image組件式能顯示出來的,直接訪問的那個地址是也能訪問到數據。 

              原因分析: 
                瀏覽器默認的編碼方式是utf-8的,flex中地址默認是采用utf-8的,而tomcat默認的編碼方式是ISO-8859-1的,即我們訪問的地址都是iso-8859-1編碼的,如果不設置tomcat中的編碼方式即為默認的iso-8859-1方式,那么瀏覽器中的請求地址中的中文是不能被解析的,所以請求不到資源,因此,我們通過設置tomcat的編碼方式為utf-8即可以通過瀏覽器訪問到含有中文名的資源。同理默認情況下flex組件也訪問不到帶有中文路徑的資源; 
                如果tomcat設置為utf-8的,我們可以訪問http://localhost:8088/EncodingTest/resource/未命名.jpg類似的地址,但是對于flex中<mx:Image source="resources/體育/足球/1.jpg" />這樣的組件還是顯示不出來(這點我也疑惑,還望高人指點),但是我們設置為<mx:Image source="resources/%E4%BD%93%E8%82%B2/%E8%B6%B3%E7%90%83/1.jpg" />這樣我們就能訪問到了。 
                如果tomcat編碼方式設置為GBK的話,對于flex組件<mx:Image source="resources/體育/足球/1.jpg" />我們是可以訪問到的,但是對于<mx:Image source="resources/%E4%BD%93%E8%82%B2/%E8%B6%B3%E7%90%83/1.jpg" />這樣的我們是訪問不到的,對于瀏覽器中的地址http://localhost:8088/EncodingTest/resource/未命名.jpg,我們是訪問不到的,但是對于我們把未命名進行GBK編碼之后的%CE%B4%C3%FC%C3%FB替換了,即http://localhost:8088/EncodingTest/resource/%CE%B4%C3%FC%C3%FB.jpg就能訪問了。至于如何取得中文的GBK編碼我們可以通過java方法取得,比如String s="未命名.jpg";s=java.net.URLEncoder.encode(s,"GBK");這樣就取得了“未命名.jpg”的GBK編碼了。 

                總結如下: 
                 總結出了一個基本解決中文編碼的方法,即tomcat中設置編碼為utf-8,flex中組件要訪問資源的路徑如果帶有中文那么我們去把中文轉換成utf-8格式的在賦值給組件的source屬性,對于瀏覽器中訪問的地址就可以是帶有中文的訪問地址了。
          posted @ 2009-04-30 01:35 你假笨 閱讀(1702) | 評論 (1)編輯 收藏
                 本文最初發布于本人的flex博客http://www.lovestblog.cn/,歡迎大家光臨。(轉載的請不要刪除該行,謝謝合作)
          我們都知道jQUery對象中有一個類數組的元素包裝集,該集合類似js中的數組一樣擁有length屬性,因此我們稱此為類數組,下面我們就來總結下這個jQuery對象中的類數組時如何進行操作的,看看我們的jQuery為我們都提供了哪些可用的方法:
             
          size():很明顯,它應該是返回包裝集中的元素個數,如$('a').size()表示鏈接元素的個數;
          get(index):當沒指定index時就默認取包裝集中所有元素,并以js中的數組形式返回,如果指定了index,則返回下標為index對應的元素,如$('img[title]').get(0)返回包含屬性title的第一個img元素,其也等效于$('img[title]')[0];
          index(elem):在包裝集中返回元素elem所在的下標,如果沒找到該元素則返回-1;
          add(String|elem|Array):把參數中的元素添加到包裝集中,如果參數是jQuery選擇器,那么將把所有匹配的對象都添加到集合中,如果是html元素那就通過clean方法得到的元素數組添加到集合中,如果是dom元素或dom元素數組,那就直接添加到集合了;注意返回的是添加后的包裝集;如$('img[alt]','img[title]')等效于$('img[alt]').add('img[title]')即返回包含了alt屬性的img元素或包含了title屬性的img元素;
          not(String|elem|Array):把包裝集中滿足參數條件的元素刪除,注意參數只能是篩選表達式,即以"["或者":"開頭的表達式,如$('img[title]').not('title*=puy')即返回包含title屬性的img元素,并且這些元素的title屬性中包含有puy文本;返回的是篩選之后的包裝集;
          filter(String|function):如果傳入的參數是String類型的話,那么該表達式必須也是篩選表達式,用于從包裝集里刪除所有與選擇器不匹配的元素;如果傳入的是一個函數的話,那么包裝集中的每個元素都調用這個函數,若這個函數返回false則把這個元素從包裝集中刪除,而在函數中可以通過this關鍵字來調用當時包裝集中調用方法的元素;如$('td').filter(function(){return this.innerHTML.match(/^"d+$/)})返回td中的內容為數字的所有td元素;
          slice(begin,end):創建并返回新的包裝集,該包裝集是原來包裝集的連續的一部分,且新包裝集的第一個元素是原包裝集中的begin位置的元素,而最后一個元素是end位置元素的前一元素,當然end可以不指定,那么將延伸到原始包裝集的末尾;如$('*').slice(2,3)這個語句選擇頁面上的所有元素,然后生存包含原始包裝集的第三個元素的新包裝集,注意這個$('*').get(2)不同,這個返回的是元素,而slice方法返回的是包裝集,從而擁有包裝集的操作;
          childen():返回原始包裝集元素的所有不同子元素所組成的新包裝集(不包含文本節點),如$('div').children()返回所有div元素下的子元素所組成的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          contents():返回原始包裝集元素的內容新包裝集(可以包含文本節點);注意此方法不能接受參數進行過濾;
          next():返回原始包裝集元素的所有唯一的下一個兄弟元素所組成的新包裝集;如果指定了參數,那么該參數也是篩選表達式;如$('div#someDiv').next()返回包含id為someDiv的div元素的下一個兄弟元素的包裝集;如果指定了參數,那么該參數也是篩選表達式;
          nextAll():返回包含原始包裝集元素的所有后續兄弟的新包裝集;如$('div#someDiv').nextAll()返回包含id為someDiv的div元素的后面兄弟元素的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          parent():返回原始包裝集所有元素的唯一直接父元素的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          parents():返回原始包裝集所有元素的祖先元素的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          prev():返回原始包裝集元素的所有唯一的上一個兄弟元素組成的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          prevAll():返回包含原始包裝集元素的所有前面兄弟元素的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          siblings():返回包含原始包裝集元素中的所有唯一兄弟元素所組成的新包裝集;如果指定了參數,那么該參數也是篩選表達式;
          find(String):返回包含原始包裝集里與傳入的選擇器表達式相匹配的所有元素的新包裝集,并且原始包裝集中的元素的后代也會被傳入新的包裝集;
          contains(text):返回包含text參數所傳入的文本字符串的元素所組成的新包裝集;
          is(String):如果包裝集中含有String匹配的元素,那么返回true,否則返回false;
          clone(copyHandle):如果傳入的參數為true,那么會連帶事件一起拷貝,否則不拷貝事件,形成一個新的包裝集;
          end():在jQuery命令鏈內調用,以便返回退到前一個包裝集;
          andSelf():合并命令鏈內最近產生的兩個包裝集;

               對于包裝元素的操作就總結到這里,如果哪里不對的還請各位指出來方便大家參考學習。

          posted @ 2009-04-22 10:50 你假笨 閱讀(2391) | 評論 (0)編輯 收藏
                  本文最初發表于本人個人博客http://www.lovestblog.cn/,歡迎大家光臨 。(轉載的請不要刪除該行,謝謝合作)
                  jQuery選擇器其實是一個有些地方比較費解的,如果沒有經過多次實驗的話,很難得出它的每個操作符到底是干什么的,很容易出錯,經過我的多次測試,終于對一些比較難理解或容易出錯的選擇操作進行總結,既方便自己將來查詢又方便初學者學習。如果哪里有不對的還望大家幫我指出來,這里是一個相互學習的地方。 

               1. 先說說通過位置選擇的幾個操作: 
          • :first:默認情況下是相對整個頁面來說的第一個,如:li:first表示整個頁面的第一個li元素,而ul li:first表示整個頁面的第一個li元素,并且是在ul下的子元素;
          • :last:同上了,只是是最后一個而已;
          • :first-child:為每個父元素匹配第一個子元素,如li:first-child返回每個ul的第一個li元素。可以這樣理解,頁面中的元素有相同的父元素的,并且里面又包含li元素的,那么就取第一個li元素,每個子類集合都要進行判斷,直到找出所有符合要求的li元素;
          • :last-child:這個也與上面相對了,只是取的是最后一個;
          • :only-child:返回所有沒有兄弟節點的元素,注意,文本元素不是,也就是說類似這樣的<div>hello<a href="">jquery</a></div>,對于這段會選出<a>元素;對于$(”label:only-child“)會選出是label元素,同時它是它父類唯一的子元素的label元素;
          • :nth-child(n):返回第n個子節點,n從1開始,如果n取0,那么就會選擇所有的元素。如:[*]li:nth-child(2)返回li元素,并且該元素是其父元素的第二個子元素;
          • :nth-child(even|odd):返回偶數或奇數的子節點;
          • :nth-child(An+B):返回滿足表達式An+B的所有子節點,比如3n+1返回所處位置為父節點子元素的是3的倍數加1的那個子元素;
          • :even:頁面范圍內的處于偶數位置的元素,如:li:even返回全部偶數li元素;
          • :odd:頁面范圍內的處于奇數位置的元素;
          • :eq(n):第n個匹配的元素(n從0開始),如:li:eq(3)返回整個頁面的第四個li元素,ul li:eq(1)返回頁面中第一個ul元素下的第二個li元素,注意:只匹配一次就返回了;
          • :gt(n):第n個匹配元素(不包括)之后的元素(n從0開始),如:ul:gt(2)返回從第3個ul開始的所有ul元素(含第三個);
          • :lt(n):第n個匹配元素(不包括)之前的元素(n從0開始),如:ul:lt(2)返回從第0個和第1個ul元素;
              2. 利用css選擇器進行選擇: 
          • 元素標簽名:比如說$(”a“)會選出所有鏈接元素;
          • #id:通過元素id進行選擇,比如說$("#form1")會選擇id為form1的元素;
          • .class:通過元素的CSS類來選擇,比如說$(".boldstyle")會選擇CSS為boldstyle類的元素;
          • 標簽名#id.class:通過某類元素的id屬性和class屬性來選擇,如:$(a#blog.boldStyle)會選擇id為blog并且CSS類型為.boldStyle類型的鏈接元素(<a id='blog' class='.boldStyle'>);
          • 父標簽名 子標簽名.class:通過選擇父標簽下的某種CSS類型的子元素,如:$(p a.redStyle)會選擇p段落元素中的鏈接子元素a,且其css類型為.redStyle;
               3. 通過子選擇器,容器選擇器和屬性選擇器進行選擇: 
          • *:匹配所有的元素,比如說:$(*)會把頁面中的所有元素都返回;
          • E:匹配標簽名為E的所有元素,如$("a")返回所有鏈接元素;
          • E F:匹配父元素E下的標簽名為F的所有子元素(F可以為E的子類的子類,甚至更遠);
          • E>F:匹配父元素E下的所有標簽名為F的直接子元素;
          • E+F:匹配所有標簽名為F的元素,并且有E類型的兄弟節點在該F元素之前(E,F緊挨著);
          • E~F:匹配前面是任何兄弟節點E的所有元素F(E,F不必緊挨著);
          • E:has(F):匹配標簽名為E,至少有一個標簽名為F的后代節點的所有元素E;
          • E.C:匹配帶有類名C的所有元素E。.C等效于*.C;
          • E#I:匹配id為I的所有元素E,#I等效于*#I;
          • E[A]:匹配帶有屬性A的所有元素E;
          • E[A=V]:匹配所有屬性A的值為V的元素E;
          • E[A^=V]:匹配所有元素E,且A的屬性值是V開頭的;
          • E[A$=V]:匹配所有元素E,且A的屬性值是V結尾的;
          • E[A*=V]:匹配所有元素E,且A的屬性值中包含有V;
               4.利用jQuery自定義的選擇器進行選擇: 
          • :button:選擇任何按鈕類型的元素,包括input[type=submit]等等;
          • :checkbox:選擇復選框元素;
          • :file:選擇所有文件類型元素,即input[type=file];
          • :image:選擇表單中的圖像元素,即input[type=image],注意此處和前面根據標簽名img選擇圖像有點不同哈;
          • :input:選擇表單元素,如<input>,<select>,<textarea>,<button>等;
          • :radio:選擇單選按鈕元素;
          • :reset:選擇復位按鈕元素,如input[type=reset],button[type=reset];
          • :submit:選擇提交按鈕元素;
          • :text:選擇文本字段元素,即input[type=text];
          • :animated:選擇當前處于動態控制下的元素;
          • :contains(hello):選擇包含文本hello的元素;
          • :header:選擇標題元素,如<h1>;
          • :parent:選擇擁有后代節點(包括文本)的元素,而排除空元素;
          • :selected:選擇已選中的選項元素;
          • :visible:選擇可見元素;
          • :enable:選擇界面上已經可以使用的表單元素;
          • :disabled:選擇界面上被禁用的表單元素;
          • :checked:選擇已選中的復選框或單選按鈕;
             主要還是要多練習,多寫點例子熟悉下,東西其實也不是很多哈,希望能給大家帶來幫助;
          posted @ 2009-04-21 12:17 你假笨 閱讀(5312) | 評論 (1)編輯 收藏
               摘要:          嘿,先向大家宣傳下我站啊,http://www.lovestblog.cn/,這是我的個人博客,希望大家常來我博客坐坐呢,相信大家也會有所收益的,不過我也不會放棄javaeye的,我也會一直在這里寫東西的。 (轉載的請不要刪除該段,謝謝合作)     &nbs...  閱讀全文
          posted @ 2009-04-11 17:52 你假笨 閱讀(7784) | 評論 (14)編輯 收藏
          僅列出標題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 临泽县| 芜湖市| 宜昌市| 肃南| 乌拉特中旗| 远安县| 镶黄旗| 福清市| 阳新县| 漠河县| 德化县| 天全县| 新营市| 乌兰县| 中宁县| 彭阳县| 贡觉县| 五家渠市| 通道| 湘乡市| 平昌县| 嘉兴市| 三都| 泽库县| 东阿县| 深泽县| 绿春县| 建阳市| 葵青区| 嘉定区| 达孜县| 长治市| 筠连县| 时尚| 万源市| 易门县| 景洪市| 九龙城区| 潜山县| 桓台县| 巧家县|