日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

sort標簽使用范例

Struts2講義16

系統 1924 0

sort

標簽使用介紹

技術要點

本節代碼具體介紹 sort 控制標簽的使用方式介紹。

sort 標簽使用。

sort 標簽功能演示。

演示代碼

標簽使用 JSP 文件:

?

?

Java代碼 復制代碼
  1. <!------------------文件名:sortTag.jsp----------------> ??
  2. ?????????<body> ??
  3. ???????????????????<h3?align= "left" > ??
  4. ????????????????????????????sort標簽使用范例 ??
  5. ???????????????????</h3> ??
  6. ???????????????????<s:set?name= "frank" ?value= "{'歐龍無苯油漆(六度)','進戶門套油漆','踢腳線','奧普浴霸'}" ?/> ??
  7. ???????????????????<s:sort?source= "frank" ?comparator= "sort" > ??
  8. ????????????????????????????<s:iterator> ??
  9. ?????????????????????????????????????<tr> ??
  10. ???????????????????????????????????????????????<td> ??
  11. ????????????????????????????????????????????????????????<p> ??
  12. ?????????????????????????????????????????????????????????????????<s:property?/> ??
  13. ????????????????????????????????????????????????????????</p> ??
  14. ???????????????????????????????????????????????</td> ??
  15. ?????????????????????????????????????</tr> ??
  16. ????????????????????????????</s:iterator> ??
  17. ???????????????????</s:sort> ??
  18. ?????????</body>??
    <!------------------文件名:sortTag.jsp---------------->
         <body>
                   <h3 align="left">
                            sort標簽使用范例
                   </h3>
                   <s:set name="frank" value="{'歐龍無苯油漆(六度)','進戶門套油漆','踢腳線','奧普浴霸'}" />
                   <s:sort source="frank" comparator="sort">
                            <s:iterator>
                                     <tr>
                                               <td>
                                                        <p>
                                                                 <s:property />
                                                        </p>
                                               </td>
                                     </tr>
                            </s:iterator>
                   </s:sort>
         </body>
  

?

?

定義的分類條件代碼:

?

?

Java代碼 復制代碼
  1. <!---------------文件名:SortAction.java--------------> ??
  2. ??
  3. public ? class ?SortAction? extends ?ActionSupport?{ ??
  4. ????????? //新建內部類comparator,定義分類條件:按照字符串長度從短到長排列 ??
  5. ????????? public ?Comparator?getSort()?{ ??
  6. ??????????????????? return ? new ?Comparator()?{ ??
  7. ???????????????????????????? public ? int ?compare(Object?arg1,?Object?arg2)?{ ??
  8. ????????????????????????????????????? return ?((String)?arg1).length()?-?((String)?arg2).length(); ??
  9. ????????????????????????????} ??
  10. ???????????????????}; ??
  11. ?????????} ??
  12. }??
    <!---------------文件名:SortAction.java-------------->

public class SortAction extends ActionSupport {
         //新建內部類comparator,定義分類條件:按照字符串長度從短到長排列
         public Comparator getSort() {
                   return new Comparator() {
                            public int compare(Object arg1, Object arg2) {
                                     return ((String) arg1).length() - ((String) arg2).length();
                            }
                   };
         }
}
  

?

?

功能演示如圖 5.7 。

Struts2講義16


5.7 ? sort 標簽范例圖

代碼解釋

1 sort 標簽的功能是對指定的數據集合進行排序或分類。可以自定義自己的排序或分類條件。 id 和之前技術標簽相同。 comparator 返回一個 java.util.Comparator 類型實例,用來定義排序或分類的條件。 source 定義的是被排序或分類的集合名。

2 )如果需要自定義 comparator ,則可以在 Action 中擴展 Comparator 接口,并且重寫 compare 方法就可以。如代碼所示,通過定義內部類返回 Comparator 類型對象,在內部類中重寫 compare 方法,定義了按照字符串長度由短到長排序的條件。

有對內部類不是很熟悉的讀者可以去查看 Java 相關資料自行研究學習。這里就不具體記述了。

subset

標簽使用介紹

技術要點

本節代碼具體介紹 subset 控制標簽的使用方式介紹。

subset 標簽使用。

subset 標簽功能演示。

演示代碼

標簽使用 JSP 文件:

?

Java代碼 復制代碼
  1. <!--------------文件名:subsetTag.jsp--------------> ??
  2. ?????????<body> ??
  3. ???????????????????<h3?align= "left" > ??
  4. ????????????????????????????subset標簽使用范例 ??
  5. ???????????????????</h3> ??
  6. ???????????????????<s:set?name= "frank" ?value= "{'歐龍無苯油漆(六度)','進戶門套油漆','踢腳線','奧普浴霸'}" ?/> ??
  7. ???????????????????<s:subset??source= "frank" ?start= "2" ?count= "2" > ??
  8. ????????????????????????????<s:iterator>?????????????????????????????????? ??
  9. ????????????????????????????????????????????????????????<p> ??
  10. ?????????????????????????????????????????????????????????????????<s:property?/> ??
  11. ????????????????????????????????????????????????????????</p>?????????????????????????????????????? ??
  12. ????????????????????????????</s:iterator> ??
  13. ???????????????????</s:subset> ??
  14. ???????????????????<h3?align= "left" > ??
  15. ????????????????????????????使用decider的使用范例 ??
  16. ???????????????????</h3> ??
  17. ??
  18. ???????????????????<s:subset??source= "frank" ?decider= "selfDecider" > ??
  19. ????????????????????????????<s:iterator>?????????????????????????????????? ??
  20. ????????????????????????????????????????????????????????<p> ??
  21. ?????????????????????????????????????????????????????????????????<s:property?/> ??
  22. ????????????????????????????????????????????????????????</p>?????????????????????????????????????? ??
  23. ????????????????????????????</s:iterator> ??
  24. ???????????????????</s:subset> ??
  25. ?????????</body>??
    <!--------------文件名:subsetTag.jsp-------------->
         <body>
                   <h3 align="left">
                            subset標簽使用范例
                   </h3>
                   <s:set name="frank" value="{'歐龍無苯油漆(六度)','進戶門套油漆','踢腳線','奧普浴霸'}" />
                   <s:subset  source="frank" start="2" count="2">
                            <s:iterator>                                  
                                                        <p>
                                                                 <s:property />
                                                        </p>                                      
                            </s:iterator>
                   </s:subset>
                   <h3 align="left">
                            使用decider的使用范例
                   </h3>

                   <s:subset  source="frank" decider="selfDecider">
                            <s:iterator>                                  
                                                        <p>
                                                                 <s:property />
                                                        </p>                                      
                            </s:iterator>
                   </s:subset>
         </body>
  

?

定義的讀取子集條件代碼:

?

Java代碼 復制代碼
  1. <!----------------文件名:SelfDecider.java-------------> ??
  2. ??
  3. import ?org.apache.struts2.util.SubsetIteratorFilter.Decider; ??
  4. ??
  5. public ? class ?SelfDecider? implements ?Decider?{= ??
  6. ????????? public ? boolean ?decide(Object?arg1)? throws ?Exception?{ ??
  7. ???????????????????String?condition?=?(String)?arg1; ??
  8. ??????????????????? //讀取元素中包含"("字符的字符串 ??
  9. ??????????????????? return ?condition.indexOf( "(" )?>? 0 ; ??
  10. ?????????} ??
  11. }??
    <!----------------文件名:SelfDecider.java------------->

import org.apache.struts2.util.SubsetIteratorFilter.Decider;

public class SelfDecider implements Decider {=
         public boolean decide(Object arg1) throws Exception {
                   String condition = (String) arg1;
                   //讀取元素中包含"("字符的字符串
                   return condition.indexOf("(") > 0;
         }
}
  

功能演示如圖 5.8

Struts2講義16


5.8 ? subset 標簽范例圖

代碼解釋

1 subset 標簽的功能是根據讀取子集條件將某個集合的子集讀取出來。也可以自定義自己的讀取子集條件。 id 和之前技術標簽相同。 source 定義的是父集合名。 start 表示是從父集合哪一個元素的索引序號開始讀取。 count 表示的是讀取父集合中多少個元素。 decider 就是讀取子集的條件,可以不寫,如果寫了,則表明一個 Decider 對象實例。需要開發者自行定義此對象實例。

2 )如代碼所示,第一個示例表明的是從字符串集合中的第三個也就是索引號為 2 (索引號為 0 表示的是第一個元素)的元素開始讀取,讀取元素個數為 2 即只需要從第三個元素開始的兩個元素作為子集合的元素。因此頁面上顯示的是兩個元素。

第二個示例則自定義了 Decider 對象實例,代碼中表示將元素中包含字符“(”的元素讀取出來作為子集合的元素。因此在字符串集合中只有“ 歐龍無苯油漆 ( 六度 ) ”包含“(”字符,所以子集合中顯示在頁面上的元素只有它一個。

?

Struts2講義16


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 博乐市| 昭通市| 内乡县| 娱乐| 浠水县| 北碚区| 双江| 图木舒克市| 台前县| 夏邑县| 七台河市| 通州区| 永仁县| 鄄城县| 唐海县| 鹤山市| 塔河县| 西畴县| 永安市| 荔波县| 江西省| 万源市| 台州市| 白朗县| 苗栗市| 绥芬河市| 炎陵县| 南丰县| 万盛区| 荆州市| 麻城市| 伊川县| 东乌珠穆沁旗| 彭阳县| 仁怀市| 潮安县| 杨浦区| 岗巴县| 汤原县| 漾濞| 若尔盖县|