File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes Servlet redirect & frames Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Servlet redirect & frames" Watch "Servlet redirect & frames" New topic

Servlet redirect & frames

Elizabeth Chen

Joined: Aug 09, 2001
Posts: 7
I have a servlet which does all calculation and forward the results to a frame set (out.jsp) to display. The upper frame (top.jsp) will display the results as a list of hyperlinks, when a link is clicked, the output will then be displayed in the bottom frame (bottom.jsp). But when I tried to render the results in top.jsp, I cannot access the results passed from the servlet.
<frameset rows="174,*">
<frame name="top" target="main" src="top.jsp">
<frame name="main" src="bottom.jsp">

For example, the servlet passes an object (for example A) by setAttribute, how can I get the object A from top.jsp? or other better way to handle this kind of problem?
Thanks for help!!!
David O'Meara

Joined: Mar 06, 2001
Posts: 13459

Number one I always say: forget frames. Don't use them. Throw them away.
I'm not really a fan.
If you want to have a frame to send a request then have the response change both frames, you have a couple of options...
The Javascript solution is to send the 'event' to the other frame too, so that it also sends a request to the server and both pages get updated in separate responses.
The other option is to send the request to the target '_top'. This initial request would return something like

then the two pages in the frames would both be reloaded and would both be passed the same data.
The better solution is to handle it server side and include multiple pages by .including the separate parts. That way they all refresh together and all get passed the same parameters and attributes.
I agree. Here's the link:
subject: Servlet redirect & frames
It's not a secret anymore!