Calling a default Action upon App startup

2003-08-14 Thread Curtney Jacobs
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

2003-08-07 Thread Curtney Jacobs
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

2003-08-05 Thread Mohan Radhakrishnan

 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]