struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
1:jsp页面定义元素写法 数组或list
-
<s:iterator value=
"{'1','2','3','4','5'}"
id=
'number'
>
-
<s:property value=
'number'
/>A
-
</s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
-
<s:iterator value=
"{'a','b','c'}"
id=
'char'
status=
'st'
>
-
<s:
if
test=
"#st.Even"
>
-
现在的索引是奇数为:<s:property value=
'#st.index'
/>
-
</s:
if
>
-
当前元素值:<s:property value=
'char'
/>
-
</s:iterator>
3:遍历map
value可以直接定义为:
-
value=
"#{"
1
":"
a
","
2
":"
b
"}"
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:
-
<s:iterator value=
"map"
id=
"id"
status=
"st"
>
-
key : <s:property value=
'key'
/>
-
value:<s:property vlaue=
'value'
/>
-
</s:iterator>
当然key 和value 都可以使java 的 Object
3:遍历数据栈.简单的List类,
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
-
<s:iterator value=
"label"
id=
"id"
>
-
<s:property value=
"#id.attrName"
/>
-
</s:iterator>
当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
4:遍历2个list;
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
这2个list的元素是一一对应的,一个attrN对应一个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]}'
/>
-
</
s:iterator
>
5:遍历中有struts2的判断标签s:if ,以下例子au_states为一个String对象
<s:iterator value="%{au_states}" id="cid">
<option value="<s:property value='#cid'/>"<s:if
test="%{#cid==#request.address.state}">selected="selected"
</s:if>><s:property value="#cid" /></option>
</s:iterator>
s:iterator value="%{au_states}" id="cid"也可以写成s:iterator value="au_states" id="cid"
在遍历内部的判断拿HttpRequest中的state何该比较。
当然如果是其他对象完全可以写成<s:if test="#cid.recommendable == 1"> 或者调用方法<s:if test="#cid.recommendable.equals('1')"> 都可以实现
6:遍历标签从request拿数据
<s:set name="index" value="0" scope="request"/>
<s:iterator value="#request.recommend_catalogList" id="cid2" status="st2">
<s:if test="#cid2.recommendable != 1">
<s:set name="index" value="#request['index'] + 1" scope="request"/>
<li><a
href="<%if("0".equals(pageType)){%>/requestnow/<s:property
value="#cid2.getCanonicalPath()"/>?catalogSn=<s:property
value="#cid2.categorySn"/><%}else {%><%=pathPrefix
%><s:property value="#cid2.categorySn"/><%}
%>"><s:property value='#cid2.name'/></a></li>
</s:if>
<s:if test="#request['index'] != 0 && #request['index'] % 3 == 0"><li class="clear" /></s:if>
</s:iterator>
<s:if test="#request['index'] % 3 != 0"><li class="clear" /></s:if>
当然判断里可以写成任何的表达式
<s:if test="%{#st.index%4 == 0}">
<s:if test="%{#st.index >=40 }">
<tr rel="buyer_detail" class="hidden">
</s:if>
<s:else>
<tr rel="buyer_detail">
</s:else>
</s:if>
分享到:
相关推荐
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
生成一个简单的iterator,并且使用iterator标签打印出内容。 <s:generator val="%{'aaa,bbb,ccc,ddd,eee'}"> <s:iterator> <s:property /> </s:iterator> </s:generator> 例2: 生成一个iterator,使用...
自己使用过的struts2标签总结 1. resList是action中的一个属性 <s:iterator id="rs" value="resList" status="count" > </s:iterator> <s:iterator id="pwd" value="#request.usePwdList" status="mIndex"> ...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
NULL 博文链接:https://takeme.iteye.com/blog/1663239
web开发struts2标签 <s:property></s:property> <s:iterator></s:iterator>
struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法
struts标签做的增删查改 s:iterator s:textfield s:select s:checkboxlist
主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,希望能对大家有帮助。
5.1 Struts2标签使用原理解疑 73 5.2 OGNL表达式语言介绍 75 5.3 Struts2控制标签简介 79 5.3.1 append标签使用介绍 79 5.3.2 generator标签使用介绍 80 5.3.3 if、else、elseif标签使用介绍 81 5.3.4 iterator标签...
第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...
例如:一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 A.isOdd B.isLast C.isFirst D.isEven 二、假设在session中存在名为username的属性,通过OGNL访问该属性,正确的代码是...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
有写<s:iterator/>标签的用法 7.Struts2_03_TypeConverter6 把上面数组的改成list的了 8.Struts2_03_TypeConverter7 OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 ...
2 Action 研究.........................................................................................................................8 2.1 访问Servlet API................................................
表现层:jQuery+Ajax、Struts2标签+OGNL 控制层:Struts2控制器,Action组件 业务层:JavaBean组件、javamail 数据访问层:JavaBean+DAO模式,JDBC+连接池(dbcp) log4j:日志工具,用于输出日志信息.主要在业务...