Here's another possibility. In the action that forwards to frameset-page.jsp,
create a Map (or Maps) containing the request parameters you want submitted to
the topFrame and bottomFrame actions. Save this Map as a request attribute.
Then, in frameset-page.jsp:

<frameset framespacing="0" rows="50,*,">
  <html:frame action="/topFrame"
              name="paramMap"
              frameborder="1"
              frameName="top-frame"/>
  <html:frame action="/bottomFrame"
              name="paramMap"
              frameborder="1"
              frameName="bottom-frame"/>
</frameset>

If the parameters you want to propogate are already contained in an action form,
you could use either BeanUtils.describe of DynaActionForm.getMap to create the
Map for you.

Quoting George Steimer <[EMAIL PROTECTED]>:

> I had this same problem on the project I am working on.  Based on the
> functionality of the application, I could not put the form in session scope. 
> I got around this problem by having each frame call an action that recreated
> the form bean in request scope and then forwarded to the frame jsp.
> 
> George
> 
> > Its not found in the request scope of the frames because each frame has a
> > DIFFERENT request. The browser will sent a seperate simultaneous request
> for
> > each individual frame.
> > 
> > If using session scope beware of potential concurrency issues as you will
> > have multiple threads accessing the same form object. Probably wont be an
> > issue if your just reading values for display though.
> > 
> > -----Original Message-----
> > From: Jeroen Breedveld [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 30 October 2003 18:49
> > To: [EMAIL PROTECTED]
> > Subject: Struts and frames: what about the request scope?
> > 
> > 
> > Hi all,
> > 
> > I'm trying to use struts with frame but the problem I have is that forms
> > disappear from the request scope when I forward to an jsp containing a
> > frameset to other actions like this:
> > 
> > <!-- jsp containing form submitting to someAction -->
> > <action path="/somePage" forward="/WEB-INF/pages/some-page.jsp"/>
> > 
> > <action path="/someAction"
> >            input="/somePage.do"
> >           name="SomeForm" scope="request"
> >             type="com.mycompany.actions.SomeAction">
> >       <forward name="success" path="/framesetPage.do"/>
> >       <forward name="failure" path="/somePage.do"/>
> >     </action>
> > 
> > <!-- jsp containing frameset -->
> > <action path="/framesetPage"
> > forward="/WEB-INF/pages/frameset-page.jsp"/>
> > 
> > The frameset-jsp.page contains a frameset like this:
> > 
> > <frameset framespacing="0" rows="50,*,">
> >   <html:frame frameborder="1" frameName="top-frame"
> > action="topFrame.do"/>
> >   <html:frame frameborder="1" frameName="bottom-frame"
> > action="bottomFrame.do"/>
> > </frameset>
> > 
> > Now in the actions topFrame and bottomFrame the form SomeForm does not
> > appear in the request scope. Why is this? Rightnow I solved it by
> > putting SomeForm in the session scope is that the only solution? I don't
> > think that is a clean one anyway.
> > 
> > Thanks for any help and regards,
> > 
> > Jeroen
> > 
> > --
> > 
> > X-Hive Corporation
> > e-mail: [EMAIL PROTECTED]
> > phone: +31 10 2818080
> > http://www.x-hive.com

-- 
Kris Schneider <mailto:[EMAIL PROTECTED]>
D.O.Tech       <http://www.dotech.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to