Struts2 中Action 怎么取出List到jsp页面?

xmxcs1 2010-07-08 03:37:41
Action


public String List() throws Exception{
List<Menu> list = getMenuDAO().findAll();
ActionContext.getContext().put("list", list);
return null;
}


JSP


<s:iterator value="list">
<s:property value="id" />
</s:iterator>


怎么在JSP页面上没显示出数据!
...全文
1866 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaolng_ndsc 2011-09-08
  • 打赏
  • 举报
回复

学习
alixa 2011-05-27
  • 打赏
  • 举报
回复
二楼正解 给分
findee 2010-07-27
  • 打赏
  • 举报
回复
学习中。怎样取到的方便些。
redlotus_lyn 2010-07-27
  • 打赏
  • 举报
回复
简单实现方法:

<s:iterator value="#list">
<s:property value="id" />
</s:iterator>
xiaoshuang1990 2010-07-27
  • 打赏
  • 举报
回复
学习,学习!!
S3177 2010-07-27
  • 打赏
  • 举报
回复
Struts2,action中給list集合值,頁面直接用
<s:iterator value="list" var="lst">
Ade子夜 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 yangfeihu 的回复:]
<s:iterator value="list">
<s:property value="id" />
</s:iterator> 前提: 有成员变量(因为parameterInterceptor自动把成员变量放入valuestack)

<s:iterator var="a" value="#list">
<s:property value="#a.id" />
</s:iterator>
都可以.
ActionContext.getRequest().put("list", list);这种用法不可取; 没写成员变量的话,用ActionContext.getContext()getValueStack().set("list",list)即可,但是jsp中list前面不要有#

呵呵,小的细节啊!!

yangfeihu 2010-07-27
  • 打赏
  • 举报
回复
<s:iterator value="list">
<s:property value="id" />
</s:iterator> 前提: 有成员变量(因为parameterInterceptor自动把成员变量放入valuestack)

<s:iterator var="a" value="#list">
<s:property value="#a.id" />
</s:iterator>
都可以.
ActionContext.getRequest().put("list", list);这种用法不可取; 没写成员变量的话,用ActionContext.getContext()getValueStack().set("list",list)即可,但是jsp中list前面不要有#
vivazhao 2010-07-27
  • 打赏
  • 举报
回复
写错了,是无耦合的
vivazhao 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ibm_hoojo 的回复:]
CSS code

private List<Menu> result;
setter/getter
public String List() throws Exception{
result = getMenuDAO().findAll();

return success;
}
return succ……
[/Quote]

这样做比较好,是耦合的
xyytuo 2010-07-27
  • 打赏
  • 举报
回复
yangyun850304 2010-07-26
  • 打赏
  • 举报
回复
学习学习!
xmxcs1 2010-07-09
  • 打赏
  • 举报
回复
可以了

jsp

<s:iterator value="list">
<s:property value="MenuID"/>
</s:iterator>

还是谢谢二楼

奇怪为什么用
<s:iterator value="list">
<s:property value="#menuinfo.MenuID"/>
</s:iterator>
取不到呢?
xmxcs1 2010-07-09
  • 打赏
  • 举报
回复
我也用过2楼的方法,list中有值,可是就是前台为什么还是一直取不到值呀???
xmxcs1 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sully2008 的回复:]
先看list里是否有值,如果没有说明execute方法里执行有问题,如果有值,再jsp里看debug进行调试

顺便说一句,2L是正解,不建议使用ActionContext.getRequest().put("list", list);
[/Quote]


public String execute(){
list=getMenuinfoDAO().findAll();
int i;
for(i=0;i<list.size();i++){
System.out.println(list.get(i).getPesciption());
}
return SUCCESS;
}


这样可以取到值的!
达摩院扫地僧 2010-07-09
  • 打赏
  • 举报
回复
先看list里是否有值,如果没有说明execute方法里执行有问题,如果有值,再jsp里看debug进行调试

顺便说一句,2L是正解,不建议使用ActionContext.getRequest().put("list", list);
达摩院扫地僧 2010-07-09
  • 打赏
  • 举报
回复
标签有问题,请楼主是用<s:debug>标签调试,看看value stack和action stack进行调试
猿敲月下码 2010-07-09
  • 打赏
  • 举报
回复
2L可以
JavPer 2010-07-09
  • 打赏
  • 举报
回复
首先你把list放到request里,或者放到其他的地方,这个根据业务需求自己定吧
然后跳转到你要显示list的页面,顺便问一下,你返回null时你跳转到了哪个页面
xmxcs1 2010-07-09
  • 打赏
  • 举报
回复
是不是Jsp上标签写法错了,在线等........
加载更多回复(13)

81,090

社区成员

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

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