We have done alot of this and have tried many things.

In our case, If possible all of our static lists (provinces ect) are loaded
at application startup and put into application scope.
The plug-in's are great for this but there are many other ways.
If the  lists are User specific, they go into session.

And as a last resort if they are required at request time, they are
absolutely put  in the LoadAction for that page.
In the case of validation we route back to the LoadAction and not the page.
The only problem is that this forces us to consider when to pre-populate
the form fields from the backend or let them be prepopulate from the
request(in the case of a bad validation).  There is usally  some type of a
flag in the page  that will let us know what state the page is in.

In addition we found that putting the Collection directly into some scope
with a well defined Constant.KEY_XXX was much better in the long run as
opposed to trying to put in the form bean.  This way the control on the
page only needs to know the name of the collection but not where to get it.

As well we now use LabelValueBeans for every list.

just my 2 canadian cents.









"Andrew Hill" <[EMAIL PROTECTED]> on 09/27/2002 10:04:00 AM

Please respond to "Struts Users Mailing List"
       <[EMAIL PROTECTED]>

To:    "Struts Users Mailing List" <[EMAIL PROTECTED]>
cc:

Subject:    RE: Please help decide a religious discussion


Well if the Action is needed to populate the drop-downs (these values being
in request scope I presume?) then after the form is submitted and
validation
has failed, you will need to reload these values. If you are loading the
values in an action you will need to go through that action. (The other
alternative is to store the info in session scope, but that creates the
potential problem of knowing when to get rid of it)
Perhaps the idea might be to have an action whose sole responsibility is to
populate the drop-downs and instead of forwarding directly to the view, you
go through this one first and it forwards you to the view after populating
the drop-downs.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
Sent: Friday, September 27, 2002 22:54
To: Struts Users Mailing List
Cc: Struts Users Mailing List
Subject: RE: Please help decide a religious discussion



If I do that, will validation always go to the action class, even when it
fails?

Steve




                    "Andrew Hill"
                    <andrew.david.hill@gri       To:     "Struts Users
Mailing List" <[EMAIL PROTECTED]>
                    dnode.com>                   cc:
                                                 Subject:     RE: Please
help decide a religious discussion
                    09/27/2002 09:50 AM
                    Please respond to
                    "Struts Users Mailing
                    List"






Sounds like you need to define the action and not the jsp as your input in
struts-config.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
Sent: Friday, September 27, 2002 22:40
To: Struts Users Mailing List
Subject: Re: Please help decide a religious discussion



That is what we are doing now. It goes through a controller to the
database, but we are using the validator and when an error occurs, the form
does not go to the Action class and the helper methods are not called and
as a result, the drop downs are empty.

Steve




                    "David Graham"
                    <dgraham1980@ho       To:
[EMAIL PROTECTED]
                    tmail.com>            cc:
                                          Subject:     Re: Please help
decide a religious discussion
                    09/27/2002
                    09:17 AM
                    Please respond
                    to "Struts
                    Users Mailing
                    List"






The Action class...but the action should be asking a helper object for a
list of whatever goes in your drop down.  It shouldn't know about the
database directly.  So you might have in your action.execute():

List list = StateHelper.getStateList();
// put list in your form

Dave


>From: [EMAIL PROTECTED]
>Reply-To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
>To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
>Subject: Please help decide a religious discussion
>Date: Fri, 27 Sep 2002 09:13:35 -0500
>
>
>All,
>
>My team is currently at loggerheads about the correct place to put the
>database calls that are prepopulating our drop downs. We can not decide if
>they should be in the ActionForm or in the Action class. We are trying to
>stick them in the validate method in the ActionForm to make sure they are
>always called in instances where the form does not get to the action class
>(i.e. validation fails). But is this the correct way? I am thinking this
is
>nothing new. What is the correct way to initialize drop downs?
>And then what about closing the database connection?
>
>I would much appreciate any help. It would make our Friday alot smoother.
>
>Steve
>
>
>--
>To unsubscribe, e-mail:
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>




_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com


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






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


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






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


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








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

Reply via email to