This documentation is just a copy paste of portions of official Struts DTD. As I couldn’t find any easy to find reference on it hence I have put together this just to be easily locatable.
The values in
[] are default values for that attribute.
Top Level Elements:-
<struts-config> (the root of the configuration file hierarchy, and contains nested elements for all of the other configuration settings.)
<form-beans> (describes the set of form bean descriptors.)
<form-bean> (describes an ActionForm subclass [org.apache.struts.action.ActionForm] that can be referenced by an “action” element. It is a JavaBean that implements the org.apache.struts.action.ActionForm class.)
- className: The configuration bean for this form bean object. If specified, the object must be a subclass of the default configuration bean. [“org.apache.struts.config.FormBeanConfig”]
- extends: The name of the form bean that this bean will inherit configuration information from.
- name (Required): The unique identifier for this form bean. Referenced by the <action> element to specify which form bean to use with its request.
- type: Fully qualified Java class name of the ActionForm subclass to use with this form bean.
- enhanced: Reserved for future use.
- id:
<form-property> (describes a JavaBean property that can be used to configure an instance of a DynaActionForm or a subclass thereof. This element is only utilized when the “type” attribute of the enclosing “form-bean” element is [org.apache.struts.action.DynaActionForm] or a subclass of DynaActionForm. If a custom DynaActionForm subclass is used, then the “dynamic” attribute of the enclosing <form-bean> element must be set to “true”. Since Struts 1.1.)
- className: The configuration bean for this form property object. If specified, the object must be a subclass of the default configuration bean. [“org.apache.struts.config.FormPropertyConfig”]
- initial: String representation of the initial value for this property. If not specified, primitives will be initialized to zero and objects initialized to the zero-argument instantiation of that object class. For example, Strings will be initialized to “”
- name (Required): The name of the JavaBean property described by this element.
- reset: The flag that indicates when this property should be reset to its “initial” value when the form’s “reset()” method is called. If this is set to “true”, the property is always reset when “reset()” is called. This can also be set to one or more HTTP methods, such as GET or POST. In such a case, the property will be reset only when the HTTP method used for the request being processed is included in this attribute’s value(s). Multiple HTTP methods can be specified by separating them with whitespace or commas.
- size: The number of array elements to create if the value of the “type” attribute specifies an array, but there is no value specified for the “initial” attribute.
- type (Required): Fully qualified Java class name of the field underlying this property, optionally followed by “[]” to indicate that the field is indexed.
<global-exceptions> (describes a set of exceptions that might be thrown by an Action object. The handling of individual exception types is configured through nested exception elements. An <action> element may override a global exception handler by registering a local exception handler for the same exception type. Since Struts 1.1.)
<exception> (registers an ExceptionHandler for an exception type.)
- bundle: Servlet context attribute for the message resources bundle associated with this handler. The default attribute is the value specified by the string constant declared at Globals.MESSAGES_KEY. [org.apache.struts.Globals.MESSAGES_KEY]
- className: The configuration bean for this ExceptionHandler object. If specified, className must be a subclass of the default configuration bean. [“org.apache.struts.config.ExceptionConfig”]
- extends: The name of the exception handler that this will inherit configuration information from.
- handler: Fully qualified Java class name for this exception handler. [“org.apache.struts.action.ExceptionHandler”]
- key: The key to use with this handler’s message resource bundle that will retrieve the error message template for this exception.
- path: The module-relative URI to the resource that will complete the request/response if this exception occurs.
- scope: The context (“request” or “session”) that is used to access the ActionMessage object [org.apache.struts.action.ActionMessage] for this exception.
- type (Required): Fully qualified Java class name of the exception type to register with this handler.
- id:
<global-forwards> (describes a set of ActionForward objects [org.apache.struts.action.ActionForward] that are available to all Action objects as a return value. The individual ActionForwards are configured through nested <forward> elements. An <action> element may override a global forward by defining a local <forward> of the same name.)
<forward> (describes an ActionForward that is to be made available to an Action as a return value. An ActionForward is referenced by a logical name and encapsulates a URI. A “forward” element may be used to describe both global and local ActionForwards. Global forwards are available to all the Action objects in the module. Local forwards can be nested within an <action> element and only available to an Action object when it is invoked through that ActionMapping.)
- catalog: The name of a commons-chain catalog in which to look up a command to be executed as part of servicing this request. Only meaningful if “command” is also specified.
- className: Fully qualified Java class name of ActionForward subclass to use for this object. [“org.apache.struts.action.ActionForward”]
- command: The name of a commons-chain command which should be looked up and executed as part of servicing this request.
- extends: The name of the forward configuration that this will inherit configuration information from.
- module: The module prefix to use with this path. This value should begin with a slash (“/”).
- name (Required): The unique identifier for this forward. Referenced by the Action object at runtime to select – by its logical name – the resource that should complete the request/response.
- path: The module-relative path to the resources that is encapsulated by the logical name of this ActionForward. This value should begin with a slash (“/”) character.
- redirect: Set to “true” if a redirect instruction should be issued to the user-agent so that a new request is issued for this forward’s resource. If true, RequestDispatcher.Redirect is called. If “false”, RequestDispatcher.forward is called instead. [false]
<action-mappings> (describes a set of ActionMapping objects [org.apache.struts.action.ActionMapping] that are available to process requests matching the url-pattern our ActionServlet registered with the container. The individual ActionMappings are configured through nested <action> elements.)
<action> (describes an ActionMapping object that is to be used to process a request for a specific module-relative URI.)
<controller> (describes the ControllerConfig bean [org.apache.struts.config.ControllerConfig] that encapsulates a module’s runtime configuration.)
- bufferSize: The size of the input buffer used when processing file uploads. [4096]
- catalog: Name of the catalog to use when processing requests for this module. [struts]
- className: Fully qualified Java class name of the ControllerConfig subclass for this controller object. If specified, the object must be a subclass of the default class.[“org.apache.struts.config.ControllerConfig”]
- command: Name of the command to execute to process a request. [servlet-standard]
- contentType: Default content type (and optional character encoding) to be set on each response. May be overridden by the Action, JSP, or other resource to which the request is forwarded. [“text/html”]
- forwardPattern: Replacement pattern defining how the “path” attribute of a <forward> element is mapped to a context-relative URL whenit starts with a slash (and when the contextRelative property is false). This value may consist of any combination of the following:
- – “$M” – Replaced by the module prefix of this module
- – “$P” – Replaced by the “path” attribute of the selected “forward” element
- – “$$” – Causes a literal dollar sign to be rendered
- – “$x” – (Where “x” is any character not defined above). Silently swallowed, reserved for future use.
If not specified, the default forwardPattern is “$M$P”, which is consistent with the previous behavior of forwards. Since Struts 1.1. [“$M$P”]
- inputForward: Set to “true” if you want the “input” attribute of <action> elements to be the name of a local or global ActionForward, which will then be used to calculate the ultimate URL. Set to “false” (the default) to treat the “input” parameter of <action> elements as a module-relative path to the resource to be used as the input form. Since Struts 1.1. [false]
- locale: Set to “true” if you want a Locale object stored in the user’s session if not already present. [true]
- maxFileSize: The maximum size (in bytes) of a file to be accepted as a file upload. Can be expressed as a number followed by a “K”, “M”, or “G”, which are interpreted to mean kilobytes, megabytes, or gigabytes, respectively. [“250M”]
- memFileSize: The maximum size (in bytes) of a file whose contents will be retained in memory after uploading. Files larger than this threshold will be written to some alternative storage medium, typically a hard disk. Can be expressed as a number followed by a “K”, “M”, or “G”, which are interpreted tomean kilobytes, megabytes, or gigabytes, respectively. [“256K”]
- multipartClass: The fully qualified Java class name of the multipart request handler class to be used with this module. [“org.apache.struts.upload.CommonsMultipartRequestHandler”]
- nocache: Set to “true” if you want the controller to add HTTP headers for defeating caching to every response from this module. [false]
- pagePattern: Replacement pattern defining how the “page” attribute of custom tags using it is mapped to a context-relative URL of the corresponding resource. This value may consist of any combination of the following:
- – “$M” – Replaced by the module prefix of this module
- – “$P” – Replaced by the value of the “page” attribut
- – “$$” – Causes a literal dollar sign to be rendered
- – “$x” – (Where “x” is any character not defined above). Silently swallowed, reserved for future use.
If not specified, the default forwardPattern is “$M$P”, which is consistent with previous hard coded behavior of URL evaluation for “page” attributes. [“$M$P”]
- processorClass: The fully qualified Java class name of the RequestProcessor subclass to be used with this module. [“org.apache.struts.chain.ComposableRequestProcessor”]
- tempDir: Temporary working directory to use when processing file uploads. [{Directory provided by servlet container}]
- id:
<message-resources> (describes a MessageResources object with message templates for this module.)
<plug-in> (specifies the fully qualified class name of a general-purpose application plug-in module that receives notification of application startup and shutdown events. An instance of the specified class is created for each element, and can be configured with nested <set-property> elements.)
- id:
- className (Required): Fully qualified Java class name of the plug-in class; must implement [org.apache.struts.action.PlugIn].
Subordinate Elements:-
<description> (contains descriptive (paragraph length) text about the surrounding element, suitable for use in GUI tools.)
<display-name> (contains a short (one line) description of the surrounding element, suitable for use in GUI tools.)
<icon> (contains a small-icon and large-icon element which specify the location, relative to the Struts configuration file, for small and large images used to represent the surrounding element in GUI tools.)
<large-icon> (specifies the location, relative to the Struts configuration file, of a resource containing a large (32×32 pixel) icon image.)
<small-icon> (specifies the location, relative to the Struts configuration file, of a resource containing a small (16×16 pixel) icon image.)
<set-property> (specifies the method name and initial value of an additional JavaBean configuration property. When the object representing the surrounding element is instantiated, the accessor for the indicated property is called and passed the indicated value. The “set-property” element is especially useful when a custom subclass is used with <forward>, <action>, or <plug-in> elements. The subclass can be passed whatever other properties may be required to configure the object without changing how the struts-config is parsed.
Since Struts 1.3, an alternate syntax is supported. By using the “key” attribute instead of the “property” attribute, you can set arbitrary string properties on the Config object which is populated based on the containing element.
NOTE: the “key” attribute is NOT supported for <set-property> inside a <plug-in> element.)
- property: Name of the JavaBeans property whose setter method will be called. Exactly one of “property” or “key” must be specified.
- key: Where supported, the key which will be used to store the specified value in the given config object. Exactly one of “property” or “key” must be specified.
- value (Required): String representation of the value to which this property will be set, after suitable type conversion.