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

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

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

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Struts1.x系列教程(7):Logic標簽庫

    本文為原創,如需轉載,請注明作者和出處,謝謝!

    Struts 2系列教程》


    上一篇:
    Struts1.x系列教程(6):Bean標簽庫

       
    Struts Logic
    標簽庫包含了如下三類標簽:
        1. 
    循環標簽:iterate標簽。用于枚舉數組、集合類型對象中的元素。

    2. 條件處理標簽:用于是否相等、比較大小等判斷。這類標簽有emptyequal greaterEqualgreaterThanlessEquallessThanmatchmessagesNotPresentmessagesPresentnotEmptynotEqualnotMatchnotPresentpresent

    3. 流控制標簽:用于轉向其他的頁面。redirectforward屬性這類標簽。
       

    一、循環標簽(iterate)

        <logic:iterate>標簽用于對數組以及集合類型對象中的元素進行枚舉。<logic:iterate>標簽在功能上和JSTL中的<c:forEach>標簽非常相似。<logic:iterate>標簽的常用屬性的意義和作用如下:

    1. id:一個表示集合中的每一個元素的變量,被保存在page范圍中。

    2. name:一個數組或集合對象名,或是一個包含有getter方法的JavaBean

    3. property:如果name是一個JavaBean,那么property就是這個JavaBean的屬性名。<logic:iterate>標簽通過這個屬性名獲得要枚舉的數組或集合對象。

    4. indexId:循環過程中的索引(從0開始),相當于Java中在for循環中使用變量i來獲得循環中每一項的索引。

    5. offset:偏移量。也就是從數組或集合的第幾個元素開始枚舉。

    6. length:從offset開始,要枚舉的元數的個數。

    7. scopename變量保存的范圍。如果不指定,<logic:iterate>標簽將搜索所有的范圍。也就是說,依次按著pagerequestsessionapplication進行搜索,如果在不同的范圍有同樣的變量名,以先搜索到的為準。   

    下面的例子演示了<logic:iterate>標簽的使用。在<samples工程目錄>目錄中建立一個iterate.jsp文件,代碼如下:

      <%@ page  import="java.util.*" pageEncoding="GBK"%>
      
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
      
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
      
    <html>
    <head>
    <title>測試iterate標簽</title>
    </head>
    <body>
      
    <%
          
    String array[] = { "bill""王明""趙陽" };
          pageContext.setAttribute(
    "array"array);
      
          List
    <String> list = new LinkedList<String>();
          list.add(
    "計算機");
          list.add(
    "英語");
          pageContext.setAttribute(
    "list", list);
          pageContext.setAttribute(
    "iterator", list.iterator());
      
          Map
    <StringString> map = new HashMap<StringString>();
          map.put(
    "book""");
          map.put(
    "apple""蘋果");
          pageContext.setAttribute(
    "keySet", map.keySet());
          pageContext.setAttribute(
    "entrySet", map.entrySet());
      
    %>
            
          
    <logic:iterate id="s" name="array" indexId="i" offset="1" length="1">
            array[
    <bean:write name="i"/>] = <bean:write name="s"/>&nbsp;
          
    </logic:iterate>    
          
    <br>
          
    <jsp:useBean id="form" class="actionform.HtmlTagsForm"/>
          
    <jsp:setProperty name="form" property="hobbies" value="<%= new String[]{"計算機","旅游","攝影"} %>"/>
          
    <logic:iterate id="s" name="form" property="hobbies">
            
    <bean:write name="s"/>&nbsp;
          
    </logic:iterate>    
          
    <br>
          
    <logic:iterate id="s" name="list" indexId="i">
            list[
    <bean:write name="i"/>] = <bean:write name="s"/>&nbsp;
          
    </logic:iterate>
          
    <br>
          
    <logic:iterate id="s" name="iterator" indexId="i" offset="1">
            list[
    <bean:write name="i"/>] = <bean:write name="s"/>&nbsp;
          
    </logic:iterate>
          
    <br>
          
    <logic:iterate id="entry" name="entrySet">
            
    <bean:write name="entry" property="key"/> = <bean:write name="entry" property="value"/>&nbsp;
          
    </logic:iterate>
        
    </body>
      
    </html>

    IE中輸入如下的URL測試iterate.jsp 

    http://localhost:8080/samples/iterate.jsp

    二、條件處理標簽

    條件處理標簽可分為如下三類:
    1. Test
    presentnotPresentemptynotEmpty messagesPresentmessagesNotPresent

    2. 比較:equal, lessThan, lessEqual, greaterThangreaterEqual

    3. 字符串匹配: matchnotMatch

       
    所有的條件處理標簽都有nameproperty屬性。分別用來指定對象名和屬性名。如下面的代碼演示了<logic:empty><logic:lessThan>標簽的使用:

     

      <logic:empty name="var">
          var為空
      </logic:empty>
      <logic:lessThan name="employee" property="age" value="18">
          不符合工作年齡
      </logic:lessThan>   

    三、流控制標簽(redirectforward

        <logic:redirect>用于重定向到其他的Web資源。用法如下:

      <logic:redirect href="http://www.sina.com.cn"/>

    <logic:forward>標簽用于把當前的請求轉發給其他的靜態資源、JSP頁或Servlet。在功能和使用上和<jsp:forward>類似。   

        關于Logic標簽庫的更詳細的信息請讀者參閱Struts的官方網站,URL如下:

    http://struts.apache.org/1.2.9/userGuide/struts-logic.html

    下一篇:
    Struts1.x系列教程(8):上傳單個文件





    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-01-19 22:21 銀河使者 閱讀(4729) 評論(0)  編輯  收藏 所屬分類: javaweb 原創struts1.x

    主站蜘蛛池模板: 一个人看的www免费在线视频| 国产乱子伦精品免费女| 成人午夜18免费看| 亚洲第一区精品观看| 亚洲精品视频免费看| 国产亚洲一卡2卡3卡4卡新区| 精品久久久久久亚洲中文字幕| 热99RE久久精品这里都是精品免费| 95免费观看体验区视频| 日韩精品视频免费观看| 亚洲bt加勒比一区二区| 污污免费在线观看| 特级做A爰片毛片免费69| 中文字幕在线日亚洲9| 嫩草在线视频www免费观看| 日本xxwwxxww在线视频免费| 亚洲AV无码一区二区乱孑伦AS| 亚洲美国产亚洲AV| 7723日本高清完整版免费| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 看免费毛片天天看| 国产成人精品久久免费动漫| 久久久久久亚洲精品不卡| 久久亚洲精品无码gv| 午夜视频免费观看| 亚洲成a∨人片在无码2023| 毛片无码免费无码播放| 亚洲天堂中文字幕| 日本在线看片免费人成视频1000| 久久久亚洲精品蜜桃臀| 国产精品无码免费专区午夜| 免费人成网站在线播放| 免费视频成人国产精品网站| 国产免费小视频在线观看| 爱情岛论坛亚洲品质自拍视频网站| 麻豆成人精品国产免费| 99亚洲精品卡2卡三卡4卡2卡| 国产中文字幕免费| 久久精品无码专区免费| 久久久久久久尹人综合网亚洲| 国产成人久久AV免费|