利用struts2标签取List内的对象数组元素

oppo4545 2011-11-22 04:31:59
数据访问查询的代码

public List<Object[]> findSysDepartmentById(int id) {
String hql="select e.sn,e.name,p.nameCn,d.name,e.status from SysEmployee e,SysPosition p,SysDepartment d where e.sysDepartment.id=? and e.sysDepartment.id=d.id and e.positionId=p.id";
List<Object[]> list=getSession().createQuery(hql).setInteger(0, id).list();
return list;
}


上面没问题////看吓面

Jsp----struts2<s:iterator>标签代码
这里面的obj是一个List<Object[]>

<s:iterator value="obj">
<tr>
<td><s:property value="sn"/></td>
<td><s:property value="name"/></td>
<td><s:property value="nameCn"/></td>
<td><s:property value="name"/></td>
<td><s:property value="status"/></td>
</tr>
</s:iterator>


以上就是我自己写的 就是在页面显示不出来结果
...全文
791 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
oppo4545 2011-11-22
  • 打赏
  • 举报
回复
已经
结 帖

thx
oppo4545 2011-11-22
  • 打赏
  • 举报
回复
谢谢15楼的

就是这样写的

<s:iterator value="obj" id="object">
<tr>
<td><s:property value="#object[0]"/></td>
<td><s:property value="#object[1]"/></td>
<td><s:property value="#object[2]"/></td>
<td><s:property value="#object[3]"/></td>
<td><s:property value="#object[4]"/></td>
<td>
</tr>
</s:iterator>
若干年 2011-11-22
  • 打赏
  • 举报
回复
action代码:

private List<Object[]> list;
public void setList(List<Object[]> list) {
this.list = list;
}
public List<Object[]> getList() {
return list;
}


public String excute() throws Exception {
list = findSysDepartmentById(id);
return "list";
}
页面:
<s:iterator id="objects" value="list" status="status" >

<s:property value="#objects[0]" />
若干年 2011-11-22
  • 打赏
  • 举报
回复
private List<Object[]> list;
public void setList(List<Object[]> list) {
this.list = list;
}
public List<Object[]> getList() {
return list;
}


public List<Object[]> findSysDepartmentById(int id) {
String hql="select e.sn,e.name,p.nameCn,d.name,e.status from SysEmployee e,SysPosition p,SysDepartment d where e.sysDepartment.id=? and e.sysDepartment.id=d.id and e.positionId=p.id";
list=getSession().createQuery(hql).setInteger(0, id).list();
return list;
}

<s:iterator id="objects" value="list" status="status" >

<s:property value="#objects[0]" />
XY13673667283 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 oppo4545 的回复:]
LS们的说的方法我都用过了都没用....

8楼说的没看到我那个定义的意思是那个obj是从action那边来 的..也就是说obj存放在会值栈里面的....
[/Quote]
如果obj存在值栈里的话,这样不行吗?
<s:iterator value="obj" var="entity">
<s:property value="#entity[2]" />
.....
</s:iterator>
PS: 我以前做过的,应该可以的,你在调试下,不行在联系...
小V小V志 2011-11-22
  • 打赏
  • 举报
回复
var 一个变量
XY13673667283 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 oppo4545 的回复:]
LS们的说的方法我都用过了都没用....

8楼说的没看到我那个定义的意思是那个obj是从action那边来 的..也就是说obj存放在会值栈里面的....
[/Quote]
知道 如果你的obj保存在值栈里那就这样取不行吗?
<s:iterator value="list" var="entity">
<s:property value="#entity[0]" />
...
</s:iterator>
icare 2011-11-22
  • 打赏
  • 举报
回复
Struts2的标签不知道,jstl表示没鸭梨
oppo4545 2011-11-22
  • 打赏
  • 举报
回复
LS们的说的方法我都用过了都没用....

8楼说的没看到我那个定义的意思是那个obj是从action那边来 的..也就是说obj存放在会值栈里面的....
绝世酱油瓶 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 oppo4545 的回复:]

这里面的obj是一个List<Object[]>
[/Quote]我知道那地方该放后台给集合定义的名字
可是我是想说、没看到哪个地方你定义过啊、
XY13673667283 2011-11-22
  • 打赏
  • 举报
回复
如果你list<Object[]>还可以这样 根据下标取值
<s:iterator value="#request.obj" var="entity">
<s:property value="#entity[0]" />
<s:property value="#entity[1]" />
</s:iterator>
XY13673667283 2011-11-22
  • 打赏
  • 举报
回复
你好,问下你的value="obj" 保存到request里没,如果没有保存设置obj到request.setAttribute("obj", list);
如果保存后的话,就这样取试下。

<s:iterator value="#request.obj[0]">
<s:property />
</s:iterator>

wei_wxx 2011-11-22
  • 打赏
  • 举报
回复
你返回的是list, 如果你action里定义了list. 那么你的Object应改为list

<s:iterator 还有。你的标签运用也是错误的,如果感觉iterator不好用,
那用 <c:forEach var="newsArea" items="${newsAreaList}"> 好了

items是集合 var 是实体对象。
oppo4545 2011-11-22
  • 打赏
  • 举报
回复
你看Hql 我那个是三表连接查询出来结果存放在List<Object[]>里面....如果用HashMap就不好稿了
oppo4545 2011-11-22
  • 打赏
  • 举报
回复
这里面的obj是一个List<Object[]>
  • 打赏
  • 举报
回复
貌似不行,你把Object[]改为HashMap把。。


Map<String,String> map = new HashMap<String,String>();
map.put("id","100");
map.put("name","xxx");
list.add(map);
request.setAttribute("list",list);

<s:iterator id="list" value="#request.list">
<s:property value="#list.id"/>
<s:property value="#list.name"/>
</s:iterator>
绝世酱油瓶 2011-11-22
  • 打赏
  • 举报
回复
<s:iterator value="obj">obj?、

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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