include动作标签和iframe包含的页面数据传入的问题

 

现有如图示页面:a.jsp中用<jsp:include>动作标签包含了两个页面:adminSidebar.jsp和adminRightbar.jsp,代码如下:

<divid="content">

   <!-- 页面左边侧边栏 -->

   <jsp:includepage="adminSidebar.jsp"></jsp:include>

   <!-- 页面右边-->

<jsp:includepage="adminRightbar.jsp"></jsp:include>

</div>

 

其中adminRightbar.jsp页面中用iframe包含了一个页面b.jsp,代码如下:

<divclass="main-content-right">

      <iframe name=rightFramestyle="WIDTH:100%; HEIGHT:800px" src="b.jsp"

      frameborder=0>

 

     </iframe>

</div>

 

现在要在显示a.jsp页面时把b.jsp中的数据显示出来,其中b.jsp中的数据需从数据库中读取。

 

有两种方法可以解决上述问题。

1、         使用session

在加载a.jsp页面时,直接去Servlet中读取b.jsp页面所需数据后不放到request中,而是放到session中,这样在a.jsp页面中b.jsp同样可以获取它的数据。最后重定向到a.jsp。

request.getRequestDispatcher("a.jsp").forward(request,response);

 

 

 

2、         加载b.jsp时读取数据

在加载a.jsp页面时,在adminRightbar.jsp中去Servlet中读取数据,如下代码:

<divclass="main-content-right">

      <iframe name=rightFramestyle="WIDTH:100%; HEIGHT:800px" src="<%=path%>/Servlet?flag=browse"

      frameborder=0>

 

     </iframe>

</div>

在Servlet中读取b.jsp页面所需数据后放到request中,然后重定向到b.jsp,

request.getRequestDispatcher("b.jsp").forward(request,response);

最后重定向到a.jsp。

request.getRequestDispatcher("a.jsp").forward(request,response);

注意这两个重定向的不同,一个是a.jsp,另一个是b.jsp;

 

其他方法:如直接在b.jsp中用java小脚本也可以,但这样做页面会很乱,故不考虑。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值