天天看點

struts2 html元素内 用iterator

<div

                                                          <s:iterator value="alrealyMitypeList" var="alList">

                                                               <s:if test='#alList.menuitemid==#list.menuitemid'>

                                                                   class='mitypeYesDiv'

                                                               </s:if>

                                                           </s:iterator>

                                                          groupid="groupid2-${webBilldetailModifySimple.id.lineid }-${list.groupid }"

                                                          οnclick="selectMitype(this,'${list.miname}',${list.menuitemid},${list.miprice },${list.groupid },${webBilldetailModifySimple.id.lineid },'${list.picturefilesmall}','#allCost2-','#counts2-','#mitypeFontDiv2-','groupid2-');">

                                                          <div><img class="mitypeImg" src="${pageContext.request.contextPath}/images/WEB_MIDETAIL/${list.picturefilesmall}" /></div>

                                                          <div><font class="fontFace5">${list.miname}</font></div>

                                                      </div>

<s:if test=''>   裡面的字元串判斷用,,"" ,而不用''

①if/elseif/else  标簽 :

就一個參數:text

text:判斷是否執行該标簽 (boolean 值 ) 。

标簽使用格式:

<s:if text="表達式 t"></s:if>

<s:elseif text="表達式 "></s:elseif>

<s:else text ="表達式 "></s:else>

②Iterator 标簽 :

  有3 個參數構成: id、 status 、 value

id: 值棧名稱。

value: 集合。

status: 索引屬性。

包括isFirst() // 目前疊代元素是否是第一個數

isLast()  //目前疊代元素是否是最後一個數

getIndex()  //目前疊代元素的索引

isOdd()   //目前疊代元素的索引是否為奇數

isEven()   //目前疊代元素的索引是否為偶數

getCount()  //目前已疊代元素的個數

例:

<s:iterator id="su" value="{長春,吉林 }" status="stau" >

<s:if text="#stau.first">

是否是第一個數

</s:if>

<s:elseif text="#stau.last">

是否是最後一個數

</s:elseif>

<s:if text="#stau.odd">

索引為奇數

</s:if>

<s:if text="#stau.even">

索引為偶數

</s:if>

<% 目前元素索引  %>

<s:property value="#stau.index" /> 

<% 目前疊代次數  %>

<s:property valu="#stau.count" />

<% 疊代值  %>

<s:property value="su">

</s:iterator>

疊代Map、

1、定義一個Map集合:private Map<String,List<CoreArticle>> newSchool = new HashMap<String,List<CoreArticle>>();

2、向集合裡面添加資料:     

coreModule = moduleSrv.findModuleByParentId();// 新聞子產品

  for (int i = 0; i < coreModule.size(); i++) {

   CoreModule module = coreModule.get(i);

   List<CoreArticle> article = schoolSrv.findModuleNews(module

     .getModuleId());

   newSchool.put(module.getModuleName(), article);

  }



注意:newSchool.put()中的module.getModuleName()不能用固定的,如統一用module,這樣會導緻在疊代時隻顯示最後一條資料。



3、頁面進行疊代

<s:iterator value="newSchool" status="ns">

    <dl>

     <ui>

      <s:iterator value="value"  status="school">

       <li class="<s:if test='#school.index lte 2'>current</s:if>">

        <s:property value="#school.index + 1"/>

        <a title="<s:property value='coreModule.moduleId' />" href="#" target="_blank" rel="external nofollow"  target="_blank"><s:property value="newTitle" /></a>

       </li>

      </s:iterator>

     </ui>

    </dl>

   </s:iterator>



newSchool:是Action中定義的Map,<s:iterator value="value"  status="school">中的value 表示Map對應的value      

繼續閱讀