is this struts 1.x form bean in session scope or request scope?
Asked Answered
I

1

6

I have been searching for a concrete answer for this, as much of google returns a lot of very old posts. Is this greetingActionForm in the request scope, or in the session scope? Is there any location besides the action and form-bean declaration to determine a form's scope?

<action-mappings>
    <action path="/hello/my/oldfriend"
            type="com.imFine.HowAreYouAction"
            name="greetingActionForm"
            validate="true"
            input="/the/front/door">
        <forward name="success" path="/go/get/drinks.do" />
    </action>
</action-mappings>
<form-beans>
    <form-bean name="greetingActionForm" type="com.forms.GreetingActionForm"/>
</form-beans>
Illustrious answered 22/7, 2011 at 20:50 Comment(0)
L
10

If unspecified, by default an ActionForm will have scope session.

The scope of an ActionForm is specified on the <action> configuration as attribute scope. You can find this in the Struts DTD:

The "action" element describes an ActionMapping object that is to be used
     to process a request for a specific module-relative URI. The following
     attributes are defined:
     .....
     .....
     scope           The context ("request" or "session") that is used to
                     access our ActionForm bean, if any.  Optional if "name" is
                     specified, else not valid. [session]
     .....
     .....

This value is initialized in the org.apache.struts.config.ActionConfig class which represents the configuration information of an element from a Struts module configuration file:

/**
 * <p> Identifier of the scope ("request" or "session") within which our
 * form bean is accessed, if any. </p>
 */
protected String scope = "session";
Lachlan answered 24/7, 2011 at 16:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.