struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Barrows" <jbarr...@sssc.com>
Subject RE: Request bean is lost
Date Tue, 06 Jul 2004 20:35:11 GMT


> -----Original Message-----
> From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> Sent: Tuesday, July 06, 2004 1:32 PM
> To: Struts Users Mailing List
> Subject: RE: Request bean is lost
> 
> 
> Exactly.
> 
> My Page.do has as a parameter the jsp page along with its Form Bean.
> So it will get overwritten.
> 
> Now what is the best clearest way to get this done?
> Must I absolutely use a Session Bean to maintain the List and 
> the Form 
> Bean for the user inputted data?

You could use a hidden var to indicate to your action to not fill in the values when it's
set.


> 
> 
> 
> 
> 
> "Jim Barrows" <jbarrows@sssc.com>
> 06/07/2004 04:28 PM
> Please respond to "Struts Users Mailing List"
> 
> 
> 
> 
>  
>         To:     "Struts Users Mailing List" <user@struts.apache.org>
>         cc: 
> 
>         Subject:        RE: Request bean is lost
>  Classification: 
> 
> 
> 
> 
> > -----Original Message-----
> > From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> > Sent: Tuesday, July 06, 2004 1:23 PM
> > To: Struts Users Mailing List
> > Subject: RE: Request bean is lost
> > 
> > 
> > Umh...
> > Let me try to express myself more clearly!
> > 
> > Page.do
> > -------------
> > My Page.do obtains 3 lists from the DB based on the user's security 
> > attributes.
> > Default values are set for 2 of the lists such as month and year.
> > All of this is done in the Form Bean.
> > 
> > 
> > PageSubmit.do
> > -----------------------
> > The user selects a diffierent month other than the default 
> > and submits the 
> > request to PageSubmit.do
> > 
> > The input for the PageSubmit.do mapping is /Page.do
> > So this means that all of the Page.do logic is done again?
> > Won't this overwrite what the user has entered?
> 
> It shouldn't... unless you are overwriting those fields in page.do 
> explicitly.
> Basically what's happening is right after the user hits 
> submit, struts 
> creates a form bean ( or uses an existing one), fills it from 
> the form, 
> then validates it.  At that point, if there is a problem it 
> forwards to 
> the input param, without changing the form bean.  In the case of the 
> action, it doesn't even know when or where the form bean was 
> created.  It 
> just does it's thing quite merrily, then hands of to your code.
> 
> 
> > 
> > 
> > 
> > 
> > 
> > 
> > "Jim Barrows" <jbarrows@sssc.com>
> > 06/07/2004 04:16 PM
> > Please respond to "Struts Users Mailing List"
> > 
> > 
> > 
> > 
> > 
> >         To:     "Struts Users Mailing List" <user@struts.apache.org>
> >         cc: 
> > 
> >         Subject:        RE: Request bean is lost
> >  Classification: 
> > 
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> > > Sent: Tuesday, July 06, 2004 1:04 PM
> > > To: Struts Users Mailing List
> > > Subject: RE: Request bean is lost
> > > 
> > > 
> > > My lists are specific to each user based on security 
> > > attributes obtained 
> > > from the database.
> > > Therefore, the application scope solution is not acceptable 
> > for these 
> > > lists.
> > > 
> > > If I go the first solution route, then I have my 3 Lists as 
> > > part of the 
> > > Form bean.
> > > The user selects from the list and submits the data.
> > > If I set the imput to /Page.do wouldn't I lose the user's input?
> > 
> > No, the input param in struts-config.xml is expressly used 
> > for the case 
> > where validation fails.  So you 
> > won't lose anything.
> > 
> > > 
> > > - Glenn
> > > 
> > > 
> > > 
> > > 
> > > 
> > > "Robert Taylor" <rtaylor@mulework.com>
> > > 06/07/2004 02:39 PM
> > > Please respond to "Struts Users Mailing List"
> > > 
> > > 
> > > 
> > > 
> > > 
> > >         To:     "Struts Users Mailing List" 
> <user@struts.apache.org>
> > >         cc: 
> > > 
> > >         Subject:        RE: Request bean is lost
> > >  Classification: 
> > > 
> > > 
> > > One solution is to point the input attribute value of the 
> > > PageSubmit.do 
> > > action mapping
> > > to the Page.do action mapping thus re-retrieving the lists before 
> > > displaying the page.
> > > 
> > > An alternative solution is to override the reset() of your 
> > > action form so 
> > > that it
> > > retrieves the lists from the database and places them in the 
> > > appropriate 
> > > scope.
> > > 
> > > If the lists are composed of static data, you might consider 
> > > retrieving 
> > > them on 
> > > application start up and placing them in application scope 
> > > (ServletContext) where
> > > they will be available to all requests and then there would 
> > > be no need to 
> > > retrieve
> > > them each time the page is displayed.
> > > 
> > > robert
> > > 
> > > > -----Original Message-----
> > > > From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> > > > Sent: Tuesday, July 06, 2004 1:39 PM
> > > > To: user@struts.apache.org
> > > > Subject: Request bean is lost
> > > > 
> > > > 
> > > > Greetings,
> > > > 
> > > > I have an action Page.do that gets 3 lists from a database.
> > > > It then places the lists inside a bean which is set in 
> > the request.
> > > > The Page.jsp iterates thru the bean to display the data.
> > > > 
> > > > The form is posted to the PageSubmit.do.
> > > > But before the PageForm.validate() is executed.
> > > > Assume that an error is found...
> > > > The response is returned 
> > > > 
> > > > And this is where my bean is lost.
> > > > Why?
> > > > 
> > > > I do not want to store thr bean in the HTTP Session.
> > > > 
> > > > TIA,
> > > > Glenn.
> > > 
> > > 
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > > For additional commands, e-mail: user-help@struts.apache.org
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> > 
> > 
> > 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message