Class BeanValidatorForm

All Implemented Interfaces:
Serializable, org.apache.commons.beanutils.DynaBean
Direct Known Subclasses:
LazyValidatorForm

public class BeanValidatorForm extends ValidatorForm implements org.apache.commons.beanutils.DynaBean, Serializable

Struts validator ActionForm backed by either a DynaBean or POJO JavaBean.

Passing a POJO JavaBean to the constructor will automatically create an associated WrapDynaBean. One use for this would be to migrate view objects from an existing system which, for the usual reasons, can't be changed to extend ActionForm.

This form is based on the standard struts ValidatorForm for use with the Validator framework and validates either using the name from the Struts ActionMapping or the ActionMapping's path depending on whether pathValidation is true or false.

Note: WrapDynaBean is NOT serializable. If you use this class with a WrapDynaBean (as described above), you should not store your form in session scope.

See Also:
  • Field Details

    • dynaBean

      protected org.apache.commons.beanutils.DynaBean dynaBean
      The DynaBean that this ActionForm is backed by.
    • pathValidation

      protected boolean pathValidation
      Indicates whether the ActionMapping's path should be used for the validation key.
  • Constructor Details

    • BeanValidatorForm

      public BeanValidatorForm(Object bean)
      Construct a new BeanValidatorForm with the specified bean.
  • Method Details

    • setPathValidation

      protected void setPathValidation(boolean pathValidation)

      Set whether this form should validate based on the ActionMapping's path.

    • isPathValidation

      protected boolean isPathValidation()

      Indicates whether this form should validate based on the ActionMapping's path.

    • initialize

      public void initialize(FormBeanConfig formBeanConfig)

      Perform intialization of the ActionForm.

      This method is called when the form is created.

      Since:
      Struts 1.3.6
    • getStrutsConfigFormName

      public String getStrutsConfigFormName()
      Return name used to identify the ActionForm in the struts-config.xml.
      Since:
      Struts 1.3.6
    • getDynaBean

      public org.apache.commons.beanutils.DynaBean getDynaBean()

      Return the DynaBean that this ActionForm is backed by.

    • getInstance

      public Object getInstance()

      Return the Bean that this ActionForm is backed by.

      If the DynaBean is a WrapDynaBean type then this method returns the 'Wrapped' POJO bean associated with it. If you require the actual WrapDynaBean then use the getDynaBean() method.

    • size

      public int size(String name)

      Return the size of an indexed or mapped property.

    • getValidationKey

      public String getValidationKey(ActionMapping mapping, HttpServletRequest request)
      Returns the Validation key
      Overrides:
      getValidationKey in class ValidatorForm
      Parameters:
      mapping - The mapping used to select this instance
      request - The servlet request we are processing
      Returns:
      validation key to use
    • getDynaClass

      public org.apache.commons.beanutils.DynaClass getDynaClass()
      Return the DynaClass instance that describes the set of properties available for this DynaBean.
      Specified by:
      getDynaClass in interface org.apache.commons.beanutils.DynaBean
    • get

      public Object get(String name)
      Return the value of a simple property with the specified name.
      Specified by:
      get in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be retrieved
    • get

      public Object get(String name, int index)
      Return the value of an indexed property with the specified name.
      Specified by:
      get in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be retrieved
      index - Index of the value to be retrieved
    • get

      public Object get(String name, String key)
      Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
      Specified by:
      get in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be retrieved
      key - Key of the value to be retrieved
    • set

      public void set(String name, Object value)
      Set the value of a simple property with the specified name.
      Specified by:
      set in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be set
      value - Value to which this property is to be set
    • set

      public void set(String name, int index, Object value)
      Set the value of an indexed property with the specified name.
      Specified by:
      set in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be set
      index - Index of the property to be set
      value - Value to which this property is to be set
    • set

      public void set(String name, String key, Object value)
      Set the value of a mapped property with the specified name.
      Specified by:
      set in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property whose value is to be set
      key - Key of the property to be set
      value - Value to which this property is to be set
    • contains

      public boolean contains(String name, String key)
      Does the specified mapped property contain a value for the specified key value?
      Specified by:
      contains in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property to check
      key - Name of the key to check
    • remove

      public void remove(String name, String key)
      Remove any existing value for the specified key on the specified mapped property.
      Specified by:
      remove in interface org.apache.commons.beanutils.DynaBean
      Parameters:
      name - Name of the property for which a value is to be removed
      key - Key of the value to be removed