用SSH架构做网站碰到问题,从action返回jsp时,跳转到index.jsp,index页面用了frameset框架
framset配置如下<FRAMESETframeSpacing=0rows=80,*frameBorder=0><FRAMEname=topsrc="${pageCon...
framset配置如下
<FRAMESET frameSpacing=0 rows=80,* frameBorder=0>
<FRAME name=top src="${pageContext.request.contextPath}/YHTop.jsp" frameBorder=0 noResize scrolling=no>
<FRAMESET frameSpacing=0 frameBorder=0 cols=220,*>
<FRAME name=menu src="${pageContext.request.contextPath}/YHMenu.jsp" frameBorder=0 noResize>
<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.jsp" frameBorder=0>
<FRAME name=main src="${pageContext.request.contextPath}/user/login.action" frameBorder=0 noResize scrolling=yes>
</FRAMESET>
<NOFRAMES>
action里request.setAttribute("list", list);打算把list传到jsp页面,如果直接在index里面用struts标签是可以显示值的
<s:iterator value="list">
<tr>
<td><s:property value="name" /></td>
<td><s:property value="userName" /></td>
<td><s:property value="password" /></td>
<td><s:property value="address" /></td>
<td><s:property value="phoneNumber" /></td>
<td><s:property value="email" /></td>
</tr>
</s:iterator>
但是如果在子页面用标签就无法显示。参照网上的资料,在framset里也加入了:<FRAME name=main src="${pageContext.request.contextPath}/user/login.action" frameBorder=0 noResize scrolling=yes>
子页面还是获取不到值,请高手回答。谢谢。 展开
<FRAMESET frameSpacing=0 rows=80,* frameBorder=0>
<FRAME name=top src="${pageContext.request.contextPath}/YHTop.jsp" frameBorder=0 noResize scrolling=no>
<FRAMESET frameSpacing=0 frameBorder=0 cols=220,*>
<FRAME name=menu src="${pageContext.request.contextPath}/YHMenu.jsp" frameBorder=0 noResize>
<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.jsp" frameBorder=0>
<FRAME name=main src="${pageContext.request.contextPath}/user/login.action" frameBorder=0 noResize scrolling=yes>
</FRAMESET>
<NOFRAMES>
action里request.setAttribute("list", list);打算把list传到jsp页面,如果直接在index里面用struts标签是可以显示值的
<s:iterator value="list">
<tr>
<td><s:property value="name" /></td>
<td><s:property value="userName" /></td>
<td><s:property value="password" /></td>
<td><s:property value="address" /></td>
<td><s:property value="phoneNumber" /></td>
<td><s:property value="email" /></td>
</tr>
</s:iterator>
但是如果在子页面用标签就无法显示。参照网上的资料,在framset里也加入了:<FRAME name=main src="${pageContext.request.contextPath}/user/login.action" frameBorder=0 noResize scrolling=yes>
子页面还是获取不到值,请高手回答。谢谢。 展开
1个回答
展开全部
看你的代码,在页面上的呈现应该是上边一个YHTop.jsp,下左是YHMenu.jsp,下右是manage.jsp,想在manage.jsp里从request中获取"list"。
假设你有一个index.action在里边写了request.setAttribute("list", list);然后跳转到index.jsp,正如你现在描述的,只能在index.jsp中得到"list",因为request请求到达index.jsp就结束了,Frame中的manage.jsp实际上是又发起了另外一个请求,所以在manage.jsp中获取不到index.action中传递的"list"。
解决方法:
1.<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.jsp" frameBorder=0>改为
<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.action" frameBorder=0>
在manage.action中request.setAttribute("list", list);
这样在manage.jsp中就可以取到"list"
2.不采用frameset,而在index.jsp中include manage.jsp等子页面,这样就可以从index.action中传递"list"到manage.jsp页面中了。
假设你有一个index.action在里边写了request.setAttribute("list", list);然后跳转到index.jsp,正如你现在描述的,只能在index.jsp中得到"list",因为request请求到达index.jsp就结束了,Frame中的manage.jsp实际上是又发起了另外一个请求,所以在manage.jsp中获取不到index.action中传递的"list"。
解决方法:
1.<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.jsp" frameBorder=0>改为
<FRAME name=dmMain src="${pageContext.request.contextPath}/manage.action" frameBorder=0>
在manage.action中request.setAttribute("list", list);
这样在manage.jsp中就可以取到"list"
2.不采用frameset,而在index.jsp中include manage.jsp等子页面,这样就可以从index.action中传递"list"到manage.jsp页面中了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询