6
回答
Struts2如何传值到iframe中呢?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
例如:查from User;
返回的是个list,
我在action中定义了一个
private list<User> users;
添加get/set方法。


然后users=调用方法得到那个用户的集合。
然后就是return    "SUCCESS"

然后在struts.xml中指定的接受页面为frame.jsp.


这个list要在frame.jsp(一个框架,分为上top.jsp 中body.jsp 下bottom.jsp,三个iframe)
这个页面中显示出来。


我在body.jsp用
<s:iterator value="users" var="user">
      <s:property value="#user.userName"/>
</s:iterator>
迭代出各个属性的值。


现在的问题是:当struts.xml将返回的页面指向frame.jsp的时候,不能显示body.jsp迭代的值。
而将struts.xml返回页面指向body.jsp就可以显示出来这些属性的值。
这个是什么原因呢?

谢谢各位的回答!
举报
双人鱼XKQ
发帖于5年前 6回/1K+阅
共有6个答案 最后回答: 5年前
你为何每次更新不直接改变body呢   其他的应该是不变的啊
--- 共有 1 条评论 ---
双人鱼XKQ嗯,是的,我就是这样想的啊,难道我没有说清楚么,我的问题不是这个啊,我的问题是怎么让body.jsp在frame.jsp中显示出其所有的属性值来啊,用<s:iterator/>迭代不出来啊。 5年前 回复

你的frame.jsp 里面遍历了列表吗?iframe的三个src都是什么?

ps:iframe不推荐在你说的情况下用,struts用tiles好了

--- 共有 1 条评论 ---
双人鱼XKQframe.jsp引用的其他的三个页面,遍历是在这三个页面中进行的。 5年前 回复
一样的,iframe只是一个框架而已。
--- 共有 1 条评论 ---
双人鱼XKQ没有取到值啊.....如果是frameset这样的话,就是可以取到值了。debug的时候也不会看到值的。 5年前 回复

struts2返回值对象都是在session里,不可能页面取值有差异

--- 共有 2 条评论 ---
王瑞平回复 多个对象关联情况下才使用OGNL表达式 不过这东西一般没必要自己搞 5年前 回复
双人鱼XKQ谢谢您的回答,如果都是在session中的话,那么value stack是用来做什么的呢? 5年前 回复

引用来自“嘻嘻哈哈嚯嚯”的答案

你的frame.jsp 里面遍历了列表吗?iframe的三个src都是什么?

ps:iframe不推荐在你说的情况下用,struts用tiles好了

回复 @追逐梦想 : 你最好返回的页面不要用frameset。如果你一定要用frameset的话。那就直接访问这个页面的jsp地址,比如http://localhost/***/test.jsp, 而这个jsp页面框架里的一个链接就是那个action地址,它会自动调用frame渲染。

你放在frame里就相当于又发出了一个http://localhost/****/body.jsp的请求,而这个请求是没有经过action的。
顶部