Greetings Mohan. Thanks for replying. The reasons why I mentioned the listener approach because I am also loading the user profile upon successful login. You are correct in that the mixing of servlet listeners and Struts forms is not a good idea.
Your ServletContextListener approach seems interesting though. The data I am using to populate the forms are merely reference/lookup data that the user can select from. Thus the data is very static, does not change at all. Are you currently using the ServletContextListener for such data? Another approach would be to override the ActionForm reset method to load the default values in the form. However that violates separation of concerns. the ActionForm should not be doing any kind of database lookup. _CJ On Tuesday 05 August 2003 12:11 am, Mohan Radhakrishnan wrote: > This is what I think about the listener approach. In our project even > though we use HttpSessionAttributeListener, we are loading only the login > user profile as a java bean. We don't mix servlet listeners and Struts > forms. We could load data into POJO's and then copy it into ActionForms > whenever they are needed. I am not sure about the efficiency of this > approach for large number of forms. > > The filter is hit even before the ActionServlet is hit the VERY first > time. So Struts is not even loaded unless you use the load on startup tag. > Again here we load our own javabeans. But when we need to prepopulate we > set up our ActionForms Just-in-Time. > > Our data that don't change often is in javabeans loaded by our > ServletContextListener. > > Mohan > > -----Original Message----- > From: Curtney Jacobs [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 05, 2003 9:33 AM > To: Struts Users Mailing List > Subject: Calling a default Action upon App startup > > > Greetings everyone! > > > I would like to preopulate serveral forms with default values retrieve from > a > database upon application startup or after a successful login by the user. > > I have an approach in mind, however, I am not sure if it is the most > efficient > or best approach. My approach is to use a filter that creates and stores in > memory default ActionForms. The ActionForm will contain default values for > select fields (or any other fields) retrieved from a database. The > ActionForms will be stored within the current user session and then > controll will be given over to Struts ActionServlet. > > > Another similar approach would be to register a listerner > (HttpSessionAttributeListener) that would essentially wait for a specific > attribute to be added into the session (i.e SETUP_FORMS) then it would > query the database for neccessary application setup data. > > > I read the message archive, and a few have suggested calling a "setup > action" > per request that prepopulates the default values in the ActionForm. This is > a > valid approach, but IMHO only for small applications. It just seems that > there will be to much "traffic" going on between the app and the database. > Correct me if I am wrong. > > If you have gotten this far please share your thoughts on this topic. > > Curtney > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]