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]
Re: Calling a default Action upon App startup
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]
RE: Calling a default Action upon App startup
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]