struts2 html元素内 用iterator

来源:互联网 发布:pl sql官网 编辑:程序博客网 时间:2024/05/02 09:40

 

 

<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 }"
                                                          onclick="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个参数构成:idstatusvalue

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"><s:property value="newTitle" /></a>
</li>
</s:iterator>
</ui>
</dl>
</s:iterator>

newSchool:是Action中定义的Map,<s:iterator value="value" status="school">中的value 表示Map对应的value