我的JSP从Struts2操作中收到ArrayList
个bean。
我想迭代它们并在每行打印每个bean及其属性。
如何使用Struts2标签执行此操作?
答案 0 :(得分:6)
使用<s:iterator>
标记。
<s:iterator value="beans">
<p>Property foo: <s:property name="foo" /></p>
<p>Property bar: <s:property name="bar" /></p>
</s:iterator>
所有标签的概述可以在他们自己的文档中找到:tag reference。为它添加书签。
答案 1 :(得分:2)
使用JSTL:
<c:forEach items="${list}" var="item">
<c:out value="${item.property}" />
</c:forEach>
您必须将JSTL添加到类路径中,因为它不随Struts一起提供,但它可以运行。当然,使用struts自己的标签(如BalusC所示)是一个更好的选择。
答案 2 :(得分:1)
要使用struts2执行此操作,您需要使用迭代器:
<s:iterator value="collection">
Describe object
</s:iterator>
但我建议使用displaytag:http://www.displaytag.org/1.2/ 只有一行它描述了所有bean,你也可以进行排序和导出。 这是一个使用示例:
<display:table name="collection" />
它生成一个表,一个thead和tbody。
答案 3 :(得分:0)
答案 4 :(得分:0)
我在基本应用程序中做了类似的事情。
此处 searchForm是bean , ArrayList是结果
<logic:present name="searchForm" property="results">
<bean:size id="size" name="searchForm" property="results"/>
<logic:greaterThan name="size" value="0">
<logic:iterate id="res" name="searchForm" property="results">
<p>
<bean:write name="res" property="firstname" />
<bean:write name="res" property="lastname" />
</p>
</logic:iterate>
</logic:greaterThan>
</logic:present>