麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Struts標(biāo)簽中的多層logic:iterator詳解

2019-11-18 12:54:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  logic:Iterator標(biāo)簽(以下簡(jiǎn)稱“該標(biāo)簽”)是Struts里非經(jīng)常用的一個(gè)標(biāo)簽,其作用在于循環(huán)顯示給定容器對(duì)象中的值。
  
  如此常用的標(biāo)簽,其源代碼當(dāng)然需要拿出來(lái)研究一下,以下列舉幾條研究成果:
  
  1、該標(biāo)簽內(nèi)部使用Collection來(lái)表示給定的容器,所有的給定容器對(duì)象(如ArrayList,Map等)都會(huì)被其轉(zhuǎn)化成為Collection,Collection實(shí)際就是Map和List的父類。
  
  2、該標(biāo)簽自己維護(hù)循環(huán)索引,不用程序員治理索引
  
  3、該標(biāo)簽常見(jiàn)的幾個(gè)屬性如下:name、PRoperty、scope、id
  
  對(duì)應(yīng)Struts給出的Api說(shuō)明如下:
  
  name:包括要遍歷Collection的jsp頁(yè)面的bean的名字(假如property沒(méi)有被定義),或者是那些通過(guò)getter方法獲得屬性的Jsp中的Bean的名字,這些getter方法返回的是Collection(假如property定義了)。
  
  property:在name命名的Jsp bean中定義的屬性的名字,通過(guò)getter方法返回一個(gè)Collection
  
  scope:指示到哪里去尋找name為名字的bean,假如沒(méi)有定義缺省為"any scope"
  
  id:假如Collection非空的話,在每次遍歷時(shí)候Collection中每個(gè)元素的名字。
  
  其中除了id每個(gè)元素均為Rt eXPr,這兒的rt expr的意思就是Run Time Expression。明確的說(shuō)就是,假如你對(duì)一個(gè)Attribute的<rtexprvalue>指定為true,你就可以在這樣的屬性中使用<%=%>之類的東東。這個(gè)配置文件在tld中。
  
  只有id是必須要說(shuō)明的。
  
  關(guān)于Api說(shuō)明的說(shuō)明:
  
  id只是一個(gè)臨時(shí)標(biāo)識(shí),在下面的<bean:write里面出現(xiàn)的name屬性要和id一致才能打印出<bean:write的property,而此property就是在iterator中的屬性。
  
  舉例說(shuō)明
  
  以下代碼生成一個(gè)階梯狀表格
  
  系統(tǒng) 資源 操作
  
  soft3
  res3
  opt3
  soft12
  res12
  opt1211
  soft11
  res11
  opt1111
  
  在此之前傳來(lái)一個(gè)request.getAttribute("userPurview"),所以有在第一個(gè)logic中的userPurview,就是在這個(gè)request里面尋找userPurview
  
  返回的是一個(gè)list
  

  <table width="300" border="0">
  <tr><td>系統(tǒng)</td>
  <td>資源</td>
  <td>操作</td>
  </tr>
  <logic:iterate id="targetSys" name="userPurview" scope="request"> //這個(gè)id可以隨便起名,但是要注重下文使用的一致性
  <tr bgcolor="#cccccc"><td height="21" class="unnamed2">
  <bean:write name="targetSys" property="cn"/>    //此處name和上面id保持一致,property就是第一個(gè)list里面的元素
  </td>
  <td height="21" class="unnamed2"> </td>
  <td height="21" class="unnamed3"> </td>
  </tr>
  <logic:iterate id="targetRes" name="targetSys" property="purviewResList">
  <tr><td height="21" class="unnamed2"> </td><td height="21" class="unnamed5">
  <bean:write name="targetRes" property="cn"/>
  </td>
  <td height="21" class="unnamed6"> </td>
  </tr>
  
  <logic:iterate id="targetOpr" name="targetRes" property="purviewOprList">
  <tr><td height="21" class="unnamed4"> </td><td height="21" class="unnamed4"> </td>
  <td height="21" class="redzi">
  <bean:write property="cn" name="targetOpr"/></td>
  </tr>
  </logic:iterate>
  
  </logic:iterate>
  
  </logic:iterate>
  </table>
  
  結(jié)論
  
  多級(jí)迭代和單層差不多,唯一注重的就是id和<bean:write中的name的對(duì)應(yīng),上級(jí)logic的id與下級(jí)logic的name對(duì)應(yīng),并且取出來(lái)的要是個(gè)Collection,name和id不一定實(shí)際需要這個(gè)bean,都是虛擬的。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久免费激情视频 | 黄网站在线播放视频免费观看 | 日本欧美一区二区三区视频麻豆 | 九九热精品在线播放 | 高清中文字幕在线 | 黄色毛片一级 | 制服丝袜日日夜夜 | 911精品影院在线观看 | 日韩中字在线 | 中文字幕电影免费播放 | 新久草在线视频 | 久久99精品久久久久久园产越南 | 日韩蜜桃视频 | 国产亚洲精品久久午夜玫瑰园 | 久久久久久亚洲综合影院红桃 | xvideos korean| 国产精品视频六区 | 欧美一级电影网 | 欧美日本不卡 | 综合精品一区 | 欧美日韩中文字幕在线视频 | 成人性视频免费网站下载软件 | 午夜视频在线免费观看 | 国产亚洲精品影达达兔 | 国产91丝袜在线播放0 | 成人综合一区二区 | 一级片999 | 国产精品手机在线亚洲 | 男女羞羞在线观看 | 麻豆视频免费网站 | 国产成人自拍视频在线观看 | 99影视电影电视剧在线播放 | 在线a毛片 | 黄色免费高清网站 | 手机国产乱子伦精品视频 | 久久精品99国产国产精 | 圆产精品久久久久久久久久久 | 久久精品国产精品亚洲 | 午夜爱爱福利 | 亚洲视频成人在线 | 手机在线看片国产 |