隨筆 - 20  文章 - 57  trackbacks - 0
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          51CTO

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          ForEach小結       

              <c:forEach>標簽具有以下一些屬性: 


                      var:迭代參數的名稱。在迭代體中可以使用的變量的名稱,用來表示每一個迭代變量。類型為String。 

                      items:要進行迭代的集合。對于它所支持的類型將在下面進行講解。 

                      varStatus:迭代變量的名稱,用來表示迭代的狀態,可以訪問到迭代自身的信息。 

                      begin:如果指定了items,那么迭代就從items[begin]開始進行迭代;如果沒有指定items,那么就從begin開始迭代。它的類型為整數。 

                      end:如果指定了items,那么就在items[end]結束迭代;如果沒有指定items,那么就在end結束迭代。它的類型也為整數。 

                      step:迭代的步長。 

                    <c:forEach>標簽的items屬性支持Java平臺所提供的所有標準集合類型。此外,您可以使用該操作來迭代數組(包括基本類型數組)中的元素。它所支持的集合類型以及迭代的元素如下所示: 

                      java.util.Collection:調用iterator()來獲得的元素。 
           
                      java.util.Map:通過java.util.Map.Entry所獲得的實例。 

                      java.util.Iterator:迭代器元素。 

                      java.util.Enumeration:枚舉元素。 

                      Object實例數組:數組元素。 

                      基本類型值數組:經過包裝的數組元素。 

                      用逗號定界的String:分割后的子字符串。 

                      javax.servlet.jsp.jstl.sql.ResultSQL查詢所獲得的行。 

                    不論是對整數還是對集合進行迭代, <c:forEach>varStatus屬性所起的作用相同。和var屬性一樣,varStatus用于創建限定了作用域的變量(改變量只在當前標簽體內起作用)。不過,由varStatus屬性命名的變量并不存儲當前索引值或當前元素,而是賦予javax.servlet.jsp.jstl.core.LoopTagStatus類的實例。該類包含了一系列的特性,它們描述了迭代的當前狀態,如下這些屬性的含義如下所示: 

                      current:當前這次迭代的(集合中的)項。 

                      index:當前這次迭代從0開始的迭代索引。 

                      count:當前這次迭代從1開始的迭代計數。 

                      first:用來表明當前這輪迭代是否為第一次迭代,該屬性為boolean類型。 

                      last:用來表明當前這輪迭代是否為最后一次迭代,該屬性為boolean類型。 

                      beginbegin屬性的值。 

                      endend屬性的值 

                      stepstep屬性的值 



          JSTL 之 ForEach 循環

          <%@ page contentType="text/html; charset=GBK" %> 
          <%@ page import="java.util.*" %> 

          <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 
          <html> 
            <head> 
              <title>JSTL測試1--c:forEach循環</title> 
            </head> 

            <body> 
          一、整數 


              <c:forEach var="i" begin="1" end="10" step="1"> 
                <c:out value="${i}" />
              </c:forEach><p> 


          二、計算x的平方 
            

           <table>  
             <tr><th>Value</th>  
              <th>Square</th></tr>  
              <c:forEach var="x" begin="0" end="10" step="2">  
              <tr><td><c:out value="${x}"/></td>  
                  <td><c:out value="${x * x}"/></td>

              </tr>  
             </c:forEach>  
            </table>  


          三、字符串"47,52,53,55,46,22,16,2" 分隔. 


             <table border="1"> 
             <c:forTokens items="47,52,53,55,46,22,16,2" delims="," var="dailyPrice"> 
              <tr><td><c:out value="${dailyPrice}"/></td></tr> 
             </c:forTokens> 
             </table><p> 


          四、使用步長 


             <table>  
              <tr><th>second</th>  
              <th>second</th></tr>  
              <c:forEach var="seconds" begin="0" end="${pageContext.session 
          .maxInactiveInterval}" step="60">  
              <tr><td><c:out value="${seconds}"/></td>  
                  <td><c:out value="${seconds}"/></td></tr>  
             </c:forEach>  
            </table> <p> 


          五、對數組進行循環


            <% int ai[] = {10, 20, 30, 40, 50}; 
            pageContext.setAttribute("ary", ai); 
            %> 
            <c:forEach var="i" items="${ary}"> 
              <c:out value="${i}"/>* 
            </c:forEach><p> 

          <% 
             Cookie c=new Cookie("cookie1","one"); 
             response.addCookie(c); 
          %> 

          <%  
            Cookie cookies[]=request.getCookies();  
            Cookie sCookie=null;   
            String sname=null;  
            String name=null;  
            if(cookies==null) // 如果沒有任何cookie  
              out.print("none any cookie");  
            else  
            {  
              //out.print(cookies.length + "<br>");  
              for(int i=0;i<cookies.length; i++) // 循環列出所有可用的Cookie  
              {  
               sCookie=cookies[i];     [轉自:51item.net]  
                sname=sCookie.getName();  
                name = sCookie.getValue();  
                out.println(sname + "->" + name + "<br>");  
              }  
            }   
          %>  
            
          <table border="1" align="center">  
             <tr><th>Cookie Name</th>  
              <th>Cookie Value</th></tr>  
              <c:forEach var="cook" items="${pageContext.request.cookies}">  
              <tr><td><c:out value="${cook.name}"/></td>  
                  <td><c:out value="${cook.value}"/></td></tr>  
             </c:forEach>  
            </table> <p> 

          六、字符串數組循環 


          <% String as[] = { 
                      "A first string", "La deuxieme string", "Ella troisiemo stringo" 
                  }; 
                  request.setAttribute("stringArray", as); 
          %><p> 
          <c:forEach var="string" items="${stringArray}"> 
            <c:out value="${string}"/><br> 
          </c:forEach> 


          七、枚舉 


          <% 
          Hashtable hashtable1 = new Hashtable(); 
                     pageContext.setAttribute("numberMap", hashtable1); 
                
                  hashtable1.put(new Integer(1), "uno"); 
                  hashtable1.put(new Integer(2), "dos"); 
                  hashtable1.put(new Integer(3), "tres"); 
                  hashtable1.put(new Integer(4), "cuatro"); 
                  hashtable1.put(new Integer(5), "cinco"); 
                  hashtable1.put(new Integer(6), "seis"); 
                  hashtable1.put(new Integer(7), "siete"); 
                  hashtable1.put(new Integer(8), "ocho"); 
                  hashtable1.put(new Integer(9), "nueve"); 
                  hashtable1.put(new Integer(10), "diez"); 

                  java.util.Enumeration enumeration = hashtable1.keys(); 
                  pageContext.setAttribute("enumeration", enumeration); 
          %> 

             <c:forEach var="item" items="${enumeration}" begin="2" end="10" step="2"> 
               <c:out value="${item}"/><br> 
             </c:forEach><p> 


          八、map<p> 
             <c:forEach var="prop" items="${numberMap}" begin="1" end="5"> 
               <c:out value="${prop.key}"/> = <c:out value="${prop.value}"/><br> 
             </c:forEach> 

            

          </body> 
          </html>  

          posted on 2011-01-24 08:37 tovep 閱讀(2370) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主頁
          主站蜘蛛池模板: 江达县| 兴和县| 湘西| 商丘市| 建水县| 仙居县| 金塔县| 渭南市| 同仁县| 双江| 三明市| 太康县| 台湾省| 梅河口市| 怀集县| 平南县| 绵竹市| 麻栗坡县| 江津市| 博白县| 柘荣县| 青阳县| 鹰潭市| 莫力| 德阳市| 四平市| 梁河县| 邵东县| 富阳市| 十堰市| 宁海县| 得荣县| 长子县| 萨迦县| 嵩明县| 涟水县| 南江县| 新和县| 萝北县| 崇阳县| 韶山市|