在struts中有好多的标签方便开发,比如<logic:iterate>标签,可以很好的显示list的内容:
(一)对List的循环遍历:
1.先定义一个User类:
2.建立jsp文件如:
"id"是在iterate循环的时候使用的内部循环变量,指代list中的一个实例,name指代的是在request、session、response等中的变量名
<bean:writename="a"property="name"/>标记是用来显示的,也可用EL表达式如:${a.name}或${a["name"]}
注:EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
(二)对数组进行循环遍历:
(三)对集合Map的输出
如:有数据
则页面输出可写成:
或者用EL写作:
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码:
<logic:iterate id="h" name="hm" scope="request" indexId="number">
第${number}个:${h["key"] } + ${h.value["name"] }<br/>
</logic:iterate>
(四)嵌套遍历:
程序代码:
运行效果: