詳解Struts2標(biāo)簽遍歷
struts2的s:iterator 可以遍歷 數(shù)據(jù)棧里面的任何數(shù)組,集合等等 以下幾個(gè)簡單的demo:
s:iterator 標(biāo)簽有3個(gè)屬性:
value:被迭代的集合
id :指定集合里面的元素的id,可以和var屬性替換
status 迭代元素的索引
1:jsp頁面定義元素寫法數(shù)組或list
<s:iterator value="{'1','2','3','4','5'}" id='n'>
<s:property value='n'/>A
</s:iterator>
打印結(jié)果為: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代數(shù)據(jù)都有IteratorStatus的實(shí)例,它有以下幾個(gè)方法
int getCount()返回當(dāng)前迭代了幾個(gè)元素
int getIndex()返回當(dāng)前元素索引
boolean isEven()當(dāng)然的索引是否偶數(shù)
boolean isFirst()當(dāng)前是否第一個(gè)元素
boolean isLast()
boolean isOdd()當(dāng)前元素索引是否奇數(shù)
<s:iterator value="{'a','b','c'}" id='char' status='st'>
<s:if test="#st.Even">
現(xiàn)在的索引是奇數(shù)為:<s:property value='#st.index'/>
</s:if>
當(dāng)前元素值:<s:property value='char'/>
</s:iterator>
3:遍歷map
value可以直接定義為:
value="#{"1":"a","2":"b"}"
每個(gè)元素以都好隔開。元素之間的key和value 冒號隔開
value也可以是數(shù)據(jù)棧里面的java.util.Map對象
遍歷寫法如下:
<s:iterator value="map" id="id" status="st"> key : <s:property value='key'/> value:<s:property vlaue='value'/> </s:iterator>
當(dāng)然key 和value 都可以使java 的 Object
4:遍歷數(shù)據(jù)棧.簡單的List類
<s:iterator value="data.datas" var="student" status="st"> <tr align="center"> <td> <s:property value="#student.id" /> </td> <td> <s:property value="#student.name" /> </td> <td> <s:date name="#student.birth" fomart="yyyy/MM/dd hh:mm:ss"/> </td> </tr> </s:iterator>
5:遍歷2個(gè)list
第一個(gè)例子
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
這2個(gè)list的元素是一一對應(yīng)的,一個(gè)attrN對應(yīng)一個(gè)attrV
<s:iterator value="%{attrN }" id="id" status="status">
index is : <s:property value='status.index'/>
attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
attrName is : <s:property value='%{attrV[#status.index]}'/>
第二個(gè)例子
<s:iterator value="data.datas" var="student" status="st"> <tr align="center"> <td> <s:property value="#student.id" /> </td> <td> <s:property value="#student.name" /> </td> <td> <s:date value="#student.birth" fomart="yyyy/MM/dd hh:mm:ss"/> </td> <td> <s:date value="classlist[#st.index].classname"/> </td> </tr> </s:iterator> </s:iterator>
總結(jié)
以上就是本文關(guān)于詳解Struts2標(biāo)簽遍歷的全部內(nèi)容,希望對大家有所幫助,感興趣的朋友可以參閱:Struts2截取字符串代碼介紹 Struts和servlet不能共存問題解決方法 Struts2修改上傳文件大小限制方法解析 等,歡迎大家瀏覽本站其他相關(guān)專題。
相關(guān)文章
Spring Boot 項(xiàng)目啟動(dòng)失敗的解決方案
這篇文章主要介紹了Spring Boot 項(xiàng)目啟動(dòng)失敗的解決方案,幫助大家更好的理解和學(xué)習(xí)使用Spring Boot,感興趣的朋友可以了解下2021-03-03
log4j中l(wèi)ogger標(biāo)簽中additivity屬性的用法說明
這篇文章主要介紹了log4j中l(wèi)ogger標(biāo)簽中additivity屬性的用法說明,基于很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
spring-data-redis連接操作redis的實(shí)現(xiàn)
spring-data-redis則是對Jedis進(jìn)行了高度封裝,使用起來非常方便。本文主要介紹了spring-data-redis連接操作redis的實(shí)現(xiàn),感興趣的可以了解一下2021-07-07
EDI中JAVA通過FTP工具實(shí)現(xiàn)文件上傳下載實(shí)例
這篇文章主要介紹了EDI中JAVA通過FTP工具實(shí)現(xiàn)文件上傳下載實(shí)例,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
SpringBoot項(xiàng)目啟動(dòng)打包報(bào)錯(cuò)類文件具有錯(cuò)誤的版本 61.0, 應(yīng)為 52.0的解決
這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目啟動(dòng)打包報(bào)錯(cuò)類文件具有錯(cuò)誤的版本 61.0, 應(yīng)為 52.0的解決方法,文中有詳細(xì)的排查過程和解決方法,通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11

