On Mon, 10 Feb 2003 10:16:26 -0500
"Joseph Fifield" <[EMAIL PROTECTED]> wrote:

> This topic seems to keep coming up, and with no real good solutions
> (IMHO). One point that seems to be made frequently though, is that the
> logic to repopulate the lists really doesn't belong in the ActionForm,
> yet that seems to be the most convenient place to put it. I know I
> would really like this logic to go in the Action. My solution
> currently consists of setting validate to false in struts-config.xml,
> and validating manually in my action:
> 
> ActionErrors errors = myForm.validate();
> if (hasErrors(errors)) {
>   populateLists();
>   saveErrors(errors);
>   return getInputForward(mapping);
> }
> 

I'm not sure how all of this would work using DynaValidatorForm and
DispatchAction which I'm using. It seems so simple to just have the
method BusinessLayer.populateLists() in the reset method of a form bean
that your DynaValidatorForm extends. I'll have to look into using your
approach using the built in validation and see if I could get it to
work. 
 

> Although I don't particularly like this approach either, it's the one
> I like the best (so far).
> 
> One idea I had (and tried to implement) was to put a callback in the
> Action that was invoked after validation failure, but before
> forwarding to the input view? What do others think of this approach?
> What other solutions are there?
> 
> Joe
> 
> > -----Original Message-----
> > From: Rick Reumann [mailto:[EMAIL PROTECTED]] 
> > Sent: Monday, February 10, 2003 3:58 AM
> > To: Struts Users Mailing List
> > Subject: Where to repopulate dynamic lists ?
> > 
> > 
> > Sorry to repost this question but it still has me wondering...
> > 
> > 
> > Say you have a form where a user is to select "An Order To 
> > Update" from an options list. Now also assume that these 
> > orders to choose from change very frequently. You also will 
> > need to validate the form when it's submitted.
> > 
> > * Where is it best to repopulate this type of dynamic list 
> > (example above: 'orders')? The list of orders that make up 
> > the options list needs to be repopulated somewhere in case 
> > validation returns false and returns the user to the form 
> > page again.  
> > 
> > It seems like you have three choices:
> > 
> > 1) In the reset method repopulate the list by making a call 
> > to business layer to get back your list and put in scope (or 
> > maybe even directly into FormBean).
> > 
> > 2) Use session scope so the list is available at all times 
> > until repopulated by some setUp type of action.
> > 
> > 3) Possibly set this list in application scope upon container 
> > start up and maybe have a thread running that periodically 
> > updates the list and put the new list back into application scope.
> > 
> > Are there any other options available? I happen to like #1 
> > the best but I'm wondering what others think. I don't really 
> > like option 2 as it requires a form to be put into session 
> > scope that really doesn't need to be there (apart from the 
> > re-population of lists). Also a pain to monitor cleaning the 
> > form out of session when it is no longer needed. Option 3 
> > would be ok if the information in the list rarely changed, 
> > but if it's data that changes very frequently I wouldn't want 
> > to rely on some time interval to have to go by before getting 
> > fresh data.
> > 
> > Curious what other's thoughts are on this situation.
> > 
> > Thanks,
> > 
> > -- 
> > Rick
> > 
 
-- 
Rick Reumann

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

Reply via email to