Nic,

Thanks for the tip. Turns out using client-side Javascript to break out
of the frameset does most of the job. But, there is a twist is that I
thought might be worth documenting here.

In my case, I forward the RequestDispatcher to this Javascript from
within a servlet filter, and I've discovered that if you're in a
frameset, the browser can go bezerk (at least, IE5 does). I believe this
is because when the filter is triggered, the browser is getting multiple
simultaneous Javascript redirect requests, perhaps one for each frame,
and that the browser gets locked into some kind of frantic race
condition. Pure speculation, but anyway, the browser does get wedged.

My solution around this was to implement doFilter() such that the
RequestDispatcher can be called only once. This is good enough for our
users, but a more robust solution would allow for multiple calls.
Perhaps some kind of timing management scheme would be appropriate.

Sigh... yet another reason not to use frames...

Jason

Nic Ferrier wrote:

> Jason Wells <[EMAIL PROTECTED]> writes:
>
>
>>Question...
>>
>>If RequestDispatcher.forward() is called from a JSP within an HTML
>>frame, is there any way to tell it that the resulting page should be
>>loaded at the top frame (in other words, that it should replace the
>>browser's frameset)?
>>
>
> Not on the server side, no.
>
> You can return a page which will use javascript to change the src of
> the top page. Maybe you could even return a page that could generate
> the top page with js document.writeln()'s.
>
>
> Nic Ferrier

--
Jason Wells
Web Architect
Xsilogy, Inc.
http://www.xsilogy.com/

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to