struts2 iterator标签显示list

zjc_love 2009-05-15 02:26:59
请教:使用hibernate连接查询出来的结果存放在list中,事实上,list中的每个对象都是一个Object[],现在的问题是,在jsp中使用struts2的iterator标签怎么迭代显示结果?
例:用户表和部门表关联,查询出来的list包含Users对象和Department对象,在jsp中使用struts2的iterator标签怎么迭代显示结果?
谢谢大家
...全文
6529 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shihuangtian 2012-07-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
简单的Demo
后台action
public class StudentAction {
private Integer id;
private String dece;
private String love;
private String username;
private List resultList;//用于返回前台需要的结果
省略set get 方法……
[/Quote]


这个女人回答正确。顶一下。
北方吸引力 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 zjc_love 的回复:]
请教:使用hibernate连接查询出来的结果存放在list中,事实上,list中的每个对象都是一个Object[],现在的问题是,在jsp中使用struts2的iterator标签怎么迭代显示结果?
例:用户表和部门表关联,查询出来的list包含Users对象和Department对象,在jsp中使用struts2的iterator标签怎么迭代显示结果?
谢谢大家
[/Quote]

LZ,没想到在这遇到你哦,嘻嘻
wjk2650631 2009-10-12
  • 打赏
  • 举报
回复
在iterator里在嵌套一个就行了 刚刚试了

7楼 通过表名 获取属性名 获取pojo class
是可以实现通过表名来输出数据的
xiaohuili_10 2009-09-29
  • 打赏
  • 举报
回复
2.1后面的再标签里面将不支持el,全部使用ognl
Kaka272827267 2009-05-17
  • 打赏
  • 举报
回复
好像记得哪个版本后不支持EL啦
zjc_love 2009-05-16
  • 打赏
  • 举报
回复
再up一下,收集更多思路
APOLLO_TS 2009-05-15
  • 打赏
  • 举报
回复

<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>
Epiphone 2009-05-15
  • 打赏
  • 举报
回复

简单的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>
java9dao 2009-05-15
  • 打赏
  • 举报
回复
你没有用hibernate吗?怎么可能都会呢,只是对你需要做的list页面才使用的撒,只是对hibernate对应的属性的model属性重新整合下了,在项目中常用的
zjc_love 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 java9dao 的回复:]
那首先你就是创建一个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>

懂??
[/Quote]
谢谢,这个方法我也想过,但是为每个连接查询结果都建立这么一个类,是不是太麻烦了,struts2的iterator标签处理不了这种情况?EL表达式呢?
zjc_love 2009-05-15
  • 打赏
  • 举报
回复
public class Users{
private String userName;
private Department dept;
//getter/setter...
}

public class Department{
private String depName;
....
}
hql:
from Users user,Department dep where user.dep=dep

java9dao 2009-05-15
  • 打赏
  • 举报
回复
那首先你就是创建一个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>

懂??
zjc_love 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 APOLLO_TS 的回复:]
使用EL不就完了么!标签多繁琐。
[/Quote]
使用EL也可以,给举个例子吧,谢谢
zhengmj777 2009-05-15
  • 打赏
  • 举报
回复
贴出来你的查询语句,Users类和Department类!
APOLLO_TS 2009-05-15
  • 打赏
  • 举报
回复
使用EL不就完了么!标签多繁琐。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧