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:58:35 GMT


> -----Original Message-----
> From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> Sent: Tuesday, July 06, 2004 1:45 PM
> To: Struts Users Mailing List
> Subject: RE: Request bean is lost
> 
> 
> :)
> 
> I was just contemplating while browsing the code...
> Getting the the data from the DB requires lots of work such 
> as setting a 
> Transfer Object, calling a Facade and the error handling 
> should the DB 
> return an error.
> 
> If this still out weighs the use of a Session Bean then so be 
> it I will 
> code it.
> Using a hidden value to indicate the first time is also an option.

fwiw, a rule of thumb I use, is that if the page is a form, everything goes into the form
bean,
otherwise everything goes into request as is (ie no super bean).  Since I use tiles, and make
sure that
all forms are set up by an action this is pretty easy to do.  Even when i don't have things
nicely partitioned that way, I still try to keep to it.  Makes problems like this much easier,
since the form bean will handle itself correctly for error conditions.

> 
> 
> 
> 
> 
> "Robert Taylor" <rtaylor@mulework.com>
> 06/07/2004 04:40 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: 
> 
> 
> Let me clarify the last statement:
> 
> Page.do will write over any input values to which it is
> programmed to write. 
> 
> ...more eloquently stated by Jim
> 
> "It shouldn't... unless you are overwriting those fields in page.do 
> explicitly."
> 
> robert
> 
> > -----Original Message-----
> > From: Robert Taylor [mailto:rtaylor@mulework.com]
> > Sent: Tuesday, July 06, 2004 4:37 PM
> > To: Struts Users Mailing List
> > Subject: RE: Request bean is lost
> > 
> > 
> > Yes, it will write over any input values...
> > 
> > In this case, you might want to consider populating
> > the lists in the forms.reset() as mentioned earlier.
> > 
> > ...not my prefered approach as it puts business logic
> > in the form; its more of a work around.
> > 
> > 
> > robert
> > 
> > > -----Original Message-----
> > > From: gdeschen@cmhc-schl.gc.ca [mailto:gdeschen@cmhc-schl.gc.ca]
> > > Sent: Tuesday, July 06, 2004 4: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?
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > "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




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


Mime
View raw message