日期:2014-05-17  浏览次数:20690 次

struts2 iterator标签显示list
请教:使用hibernate连接查询出来的结果存放在list中,事实上,list中的每个对象都是一个Object[],现在的问题是,在jsp中使用struts2的iterator标签怎么迭代显示结果?
例:用户表和部门表关联,查询出来的list包含Users对象和Department对象,在jsp中使用struts2的iterator标签怎么迭代显示结果?
谢谢大家

------解决方案--------------------
贴出来你的查询语句,Users类和Department类!
------解决方案--------------------
那首先你就是创建一个dto,把你的那个list生成的object的所有对象放到那个dto中,然后放置到request里面,在页面中设置到<s:iterator id="list" value="#request.list">
<s:property value="" />----value中放置的就是那个dto定义的每一个属性
<s:property value="" />----value中放置的就是那个dto定义的每一个属性
<s:property value="" />----value中放置的就是那个dto定义的每一个属性
</s:iterator>

懂??
------解决方案--------------------

简单的Demo
后台action
public class StudentAction {
private Integer id;
private String dece;
private String love;
private String username;
private List resultList;//用于返回前台需要的结果
省略set get 方法

public String find(){
ActionContext ctx = ActionContext.getContext();

Dao dao = new Dao();
try {
resultList = dao.find();

return "suc";
} catch (Exception e) {
// TODO: handle exception
return "error";
}
}

}


页面

<s:iterator value="resultList" status="index" id="l">
<s:if test="${id == '18'}">
test Success
</s:if>
<s:if test="#index.odd == true">
<tr style="background-color:#FFFF00">
</s:if>
<s:else>
<tr>
</s:else>
<td>用户名</td>
<td>
<s:property value="username"/>
<s:property value="love"/>
<s:property value="lastmodifytime"/>
<a href="Delete.faces?id=<s:property id="l" value="id"/>">
删除
</a>

<a href="Edit.faces?id=<s:property id="l" value="id"/>">
编辑
</a>
</td>
</s:iterator>
------解决方案--------------------

<c:forEach items="${list}" var="role">
<tr>
<td align="center" vAlign="center">${role.roleId }</td>
<td align="center" vAlign="center">${role.roleName }</td>
<td align="center" vAlign="center">${role.TOrganization.orgName }</td>
<td align="center" vAlign="center">${role.remark }</td>
</td>
</tr>
</c:forEach>

------解决方案--------------------
好像记得哪个版本后不支持EL啦