Struts2标签遍历action中属性
今天做项目的时候,碰到一点小错误,就是想通过<s:iterator>遍历list集合,可就在JSP页面上不显示,错误的原因就在,如下图:
因此,我要对<s:iterator>遍历的情况总结.
1、针对于action中的普通属性(八大基本类型)
可以采用<s:property value="属性名" />获取action中的属性值,前提要设置get/set方法。
2、针对于自定义对象类型
可以采用<s:property value="对象名.属性"/>获取对象中的属性值,前提要给对象设置get/set方法。
3、针对于List<String>类型
可以采用<s:iterator value="list对象名">
<s:property/>
</s:iterator>
或者:<s:iterator value="list对象名" var="list">
<s:propety value="list"/>
</s:iterator >
4、针对于List<自定义类型>
采用<s:iterator value="自定义对象" val="a">
<s:iterator value="#a.属性"/>
</s:iterator>
或者
<s:iterator value="自定义对象">
<s:itetrator value="属性值"/>
</s:itetrator>
5、数组类型,因为数组类型的获取方式与list的类似,所以这里就不在重复。
6、对于Map类型(Map中存的是普通属性)
采用<s:iterator value="map对象" val="val">
<s:property value="#val.key"/>
<s:property value="#val.value"/>
</s:iterator>
或者:
<s:iterator value="map对象">
<s:property value="key"/>
<s:property value="value"/>
</s:iterator>
7、对于Map类型(Map中存储的是自定义类型)
采用<s:iterator value="map对象" var="var">
<s:property value="#var.key"/>
<s:property value="#var.value.属性名"/>
</s:iterator>
或者
<s:iterator value="map对象">
<s:property value="key"/>
<s:property value="value.属性名"/>
</s:iterator>