Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ActionForms can be stored in either the request (preferable) or session (default) scope. This is configured in struts-config.xml. If they're in the session scope it's important to implement the form's reset method to initialize the form before each use  (see mortar's reset method within ActionForm, SearchHelpParamsForm). ActionForms should be request scope unless they are carried across more than one page, as is the case for our mortar ActionForm, SearchHelpParamsForm, used in all or our OAS apps which implement search help with action path /SearchHelpNavAction (see struts-config). ActionForms associated with pages that have a search help icon need to be session scope. Otherwise, ActionForms should be request scope. If a request scoped ActionForm is accessed by multiple pages it can be placed into the request as an attribute by the Action:


 
By definition, every ActionForm must be a subclass of org.apache.struts.action.ActionForm, which implements java.io.Serializable. In order to avoid an Eclipse warning, your ActionForm can declare a static final serialVersionUID field of type long (e.g., private static final long serialVersionUID = 1L) but this is not mandatory. Some developers dislike the fact that Eclipse warns us if we don't declare serialVersionUID. Others think it is best to always declare it.

...