天天看点

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