##### Struts Taglib

- Welcome

##### FAQs and HOWTOs

- Taglib FAQ
- Building View Components
- Indexed Properties

##### Struts Taglib Guides

- Bean
- HTML
- Logic
- Nested

##### Components

- Struts Apps
- Struts EL
- Struts Extras
- Struts Faces
- Struts Scripting
- Struts Taglib
- Struts Tiles

##### Related Resources

- Display Tag
- html2
- JSTL
- JSF
- Struts Layout
- Struts Menu

##### Quick Links

- Javadoc
- Struts 1

##### Project Documentation

- Project Information
- Project Reports
  - Checkstyle
  - CPD Report
  - JavaDocs
  - PMD Report
  - Source Xref
  - Surefire Report
  - Taglibdoc documentation
  - Tag library validation
  - Tag reference
  - Test JavaDocs
  - Test Source Xref

## Tag reference sheet

Tag library reference for the following tag libraries:

- bean (struts-bean.tld) - uri: http://struts.apache.org/tags-bean
- html (struts-html.tld) - uri: http://struts.apache.org/tags-html
- logic (struts-logic.tld) - uri: http://struts.apache.org/tags-logic
- nested (struts-nested.tld) - uri: http://struts.apache.org/tags-nested

## bean

Note: Some of the features in this taglib are also available in the JavaServer Pages Standard Tag Library (JSTL). The Struts team encourages the use of the standard tags over the Struts specific tags when possible.

This tag library contains tags useful in accessing beans and their properties, as well as defining new beans (based on these accesses) that are accessible to the remainder of the page via scripting variables and page scope attributes. Convenient mechanisms to create new beans based on the value of request cookies, headers, and parameters are also provided.

Many of the tags in this tag library will throw a `JspException` at runtime when they are utilized incorrectly (such as when you specify an invalid combination of tag attributes). JSP allows you to declare an "error page" in the `<%@ page %>` directive. If you wish to process the actual exception that caused the problem, it is passed to the error page as a request attribute under key `org.apache.struts.action.EXCEPTION`.

This is version 1.3.

- cookie Define a scripting variable based on the value(s) of the specified request cookie
- define Define a scripting variable based on the value(s) of the specified bean property
- header Define a scripting variable based on the value(s) of the specified request header
- include Load the response from a dynamic application request and make it available as a bean
- message Render an internationalized message string to the response
- page Expose a specified item from the page context as a bean
- parameter Define a scripting variable based on the value(s) of the specified request parameter
- resource Load a web application resource and make it available as a bean
- size Define a bean containing the number of elements in a Collection or Map
- struts Expose a named Struts internal configuration object as a bean
- write Render the value of the specified bean property to the current JspWriter

Required attributes are marked with a *

### <bean:cookie>

Define a scripting variable based on the value(s) of the specified request cookie.

Retrieve the value of the specified request cookie (as a single value or multiple values, depending on the `multiple` attribute), and define the result as a page scope attribute of type `Cookie` (if `multiple` is not specified) or `Cookie[]` (if `multiple` is specified).

If no cookie with the specified name can be located, and no default value is specified, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified request cookie. | String
multiple | If any arbitrary value for this attribute is specified, causes all matching cookies to be accumulated and stored into a bean of type `Cookie[]`. If not specified, the first value for the specified cookie will be retrieved as a value of type `Cookie`. | String
name* | Specifies the name of the request cookie whose value, or values, is to be retrieved. | String
value | The default cookie value to return if no cookie with the specified name was included in this request. | String

### <bean:define>

Define a scripting variable based on the value(s) of the specified bean property.

Create a new attribute (in the scope specified by the `toScope` property, if any), and a corresponding scripting variable, both of which are named by the value of the `id` attribute. The corresponding value to which this new attribute (and scripting variable) is set are specified via use of exactly one of the following approaches (trying to use more than one will result in a JspException being thrown):

- Specify a `name` attribute (plus optional `property` and `scope` attributes) - The created attribute and scripting variable will be of the type of the retrieved JavaBean property, unless it is a Java primitive type, in which case it will be wrapped in the appropriate wrapper class (i.e. int is wrapped by java.lang.Integer).
- Specify a `value` attribute - The created attribute and scripting variable will be of type `java.lang.String`, set to the value of this attribute.
- Specify nested body content - The created attribute and scripting variable will be of type `java.lang.String`, set to the value of the nested body content.

If a problem occurs while retrieving the specified bean property, a request time exception will be thrown.

The `<bean:define>` tag differs from `<jsp:useBean>` in several ways, including:

- Unconditionally creates (or replaces) a bean under the specified identifier.
- Can create a bean with the value returned by a property getter of a different bean (including properties referenced with a nested and/or indexed property name).
- Can create a bean whose contents is a literal string (or the result of a runtime expression) specified by the `value` attribute.
- Does not support nested content (such as `<jsp:setProperty>` tags) that are only executed if a bean was actually created.

USAGE NOTE - There is a restriction in the JSP 1.1 Specification that disallows using the same value for an `id` attribute more than once in a single JSP page. Therefore, you will not be able to use `<bean:define>` for the same bean name more than once in a single page.

USAGE NOTE - If you use another tag to create the body content (e.g. bean:write), that tag must return a non-empty String. An empty String equates to an empty body or a null String, and a new scripting variable cannot be defined as null. Your bean must return a non-empty String, or the define tag must be wrapped within a logic tag to test for an empty or null value.

USAGE NOTE - You cannot use bean:define to instantiate a DynaActionForm (type="org.apache.struts.action.DynaActionForm") with the properties specified in the struts-config. The mechanics of creating the dyna-properties is complex and cannot be handled by a no-argument constructor. If you need to create an ActionForm this way, you must use a conventional ActionForm.

See the Bean Developer's Guide section on bean creation for more information about these differences, as well as alternative approaches to introducing beans into a JSP page.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified property. | String
name | Specifies the attribute name of the bean whose property is accessed to define a new page scope attribute (if `property` is also specified) or the attribute name of the bean that is duplicated with the new reference created by this tag (if `property` is not also specified). This attribute is required unless you specify a `value` attribute or nested body content. | String
property | Specifies the name of the property to be accessed on the bean specified by `name`. This value may be a simple, indexed, or nested property reference expression. If not specified, the bean identified by `name` is given a new reference identified by `id`. | String
scope | Specifies the variable scope searched to retrieve the bean specified by `name`. If not specified, the default rules applied by `PageContext.findAttribute()` are applied. | String
toScope | Specifies the variable scope into which the newly defined bean will be created. If not specified, the bean will be created in `page` scope. | String
type | Specifies the fully qualified class name of the value to be exposed as the `id` attribute. | String
value | The `java.lang.String` value to which the exposed bean should be set. This attribute is required unless you specify the `name` attribute or nested body content. | String

### <bean:header>

Define a scripting variable based on the value(s) of the specified request header.

Retrieve the value of the specified request header (as a single value or multiple values, depending on the `multiple` attribute), and define the result as a page scope attribute of type `String` (if `multiple` is not specified) or `String[]` (if `multiple` is specified).

If no header with the specified name can be located, and no default value is specified, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified request header. | String
multiple | If any arbitrary value for this attribute is specified, causes a call to `HttpServletRequest.getHeaders()` and a definition of the result as a bean of type `String[]`. Otherwise, `HttpServletRequest.getHeader()` will be called, and a definition of the result as a bean of type `String` will be performed. | String
name* | Specifies the name of the request header whose value, or values, is to be retrieved. | String
value | The default header value to return if no header with the specified name was included in this request. | String

### <bean:include>

Load the response from a dynamic application request and make it available as a bean.

Perform an internal dispatch to the specified application component (or external URL) and make the response data from that request available as a bean of type `String`. This tag has a function similar to that of the standard `<jsp:include>` tag, except that the response data is stored in a page scope attribute instead of being written to the output stream. If the current request is part of a session, the generated request for the include will also include the session identifier (and thus be part of the same session).

The URL used to access the specified application component is calculated based on which of the following attributes you specify (you must specify exactly one of them):

- forward - Use the value of this attribute as the name of a global `ActionForward` to be looked up, and use the module-relative or context-relative URI found there.
- href - Use the value of this attribute unchanged (since this might link to a resource external to the application, the session identifier is not included.
- page - Use the value of this attribute as an module-relative URI to the desired resource.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
anchor | Optional anchor tag ("#xxx") to be added to the generated hyperlink. Specify this value without any "#" character. | String
forward | Logical name of a global `ActionForward` that contains the actual content-relative URI of the resource to be included. | String
href | Absolute URL (including the appropriate protocol prefix such as "http:") of the resource to be included. Because this URL could be external to the current web application, the session identifier will not be included in the request. | String
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified web application resource. | String
page | Module-relative URI (starting with a '/') of the web application resource to be included. | String
transaction | Set to `true` if you want the current transaction control token included in the generated URL for this include. | boolean

### <bean:message>

Render an internationalized message string to the response.

Retrieves an internationalized message for the specified locale, using the specified message key, and write it to the output stream. Up to five parametric replacements (such as "{0}") may be specified.

The message key may be specified directly, using the `key` attribute, or indirectly, using the `name` and `property` attributes to obtain it from a bean.

JSTL: The equivalent JSTL tag is <fmt:message>. For example, `<fmt:message key="my.msg.key"> <fmt:param value="replacement text"/> </fmt:message>`

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
arg0 | First parametric replacement value, if any. | String
arg1 | Second parametric replacement value, if any. | String
arg2 | Third parametric replacement value, if any. | String
arg3 | Fourth parametric replacement value, if any. | String
arg4 | Fifth parametric replacement value, if any. | String
bundle | The name of the application scope bean under which the `MessageResources` object containing our messages is stored. | String
key | The message key of the requested message, which must have a corresponding value in the message resources. If not specified, the key is obtained from the `name` and `property` attributes. | String
locale | The name of the session scope bean under which our currently selected `Locale` object is stored. | String
name | Specifies the attribute name of the bean whose property is accessed to retrieve the value specified by `property` (if specified). If `property` is not specified, the value of this bean itself will be used as the message resource key. | String
property | Specifies the name of the property to be accessed on the bean specified by `name`. This value may be a simple, indexed, or nested property reference expression. If not specified, the value of the bean identified by `name` will itself be used as the message resource key. | String
scope | Specifies the variable scope searched to retrieve the bean specified by `name`. If not specified, the default rules applied by `PageContext.findAttribute()` are applied. | String

### <bean:page>

Expose a specified item from the page context as a bean.

Retrieve the value of the specified item from the page context for this page, and define it as a scripting variable, and a page scope attribute accessible to the remainder of the current page.

If a problem occurs while retrieving the specified configuration object, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified page context property. | String
property* | Name of the property from our page context to be retrieved and exposed. Must be one of `application`, `config`, `request`, `response`, or `session`. | String

### <bean:parameter>

Define a scripting variable based on the value(s) of the specified request parameter.

Retrieve the value of the specified request parameter (as a single value or multiple values, depending on the `multiple` attribute), and define the result as a page scope attribute of type `String` (if `multiple` is not specified) or `String[]` (if `multiple` is specified).

If no request parameter with the specified name can be located, and no default value is specified, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified request parameter. | String
multiple | If any arbitrary value for this attribute is specified, causes a call to `ServletRequest.getParameterValues()` and a definition of the result as a bean of type `String[]`. Otherwise, `ServletRequest.getParameter()` will be called, and a definition of the result as a bean of type `String` will be performed. | String
name* | Specifies the name of the request parameter whose value, or values, is to be retrieved. | String
value | The default parameter value to return if no parameter with the specified name was included in this request. | String

### <bean:resource>

Load a web application resource and make it available as a bean.

Retrieve the value of the specified web application resource, and make it available as either a `InputStream` or a `String`, depending on the value of the `input` attribute.

If a problem occurs while retrieving the specified resource, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified web application resource. | String
input | If any arbitrary value for this attribute is specified, the resource will be made available as an `InputStream`. If this attribute is not specified, the resource will be made available as a `String`. | String
name* | Module-relative name (starting with a '/') of the web application resource to be loaded and made available. | String

### <bean:size>

Define a bean containing the number of elements in a Collection or Map.

Given a reference to an array, Collection or Map, creates a new bean, of type `java.lang.Integer`, whose value is the number of elements in that collection. You can specify the collection to be counted in any one of the following ways:

- As a runtime expression specified as the value of the `collection` attribute.
- As a JSP bean specified by the `name` attribute.
- As the property, specified by the `property` attribute, of the JSP bean specified by the `name` attribute.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
collection | A runtime expression that evaluates to an array, a Collection, or a Map. | String
id* | The name of a page scope JSP bean, of type `java.lang.Integer`, that will be created to contain the size of the underlying collection being counted. | String
name | The name of the JSP bean (optionally constrained to the scope specified by the `scope` attribute) that contains the collection to be counted (if `property` is not specified), or whose property getter is called to return the collection to be counted (if `property` is specified. | String
property | The name of the property, of the bean specified by the `name` attribute, whose getter method will return the collection to be counted. | String
scope | The bean scope within which to search for the JSP bean specified by the `name` attribute. If not specified, the available scopes are searched in ascending sequence. | String

### <bean:struts>

Expose a named Struts internal configuration object as a bean.

Retrieve the value of the specified Struts internal configuration object, and define it as a scripting variable and as a page scope attribute accessible to the remainder of the current page. You must specify exactly one of the `formBean`, `forward`, and `mapping` attributes to select the configuration object to be exposed.

If a problem occurs while retrieving the specified configuration object, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
formBean | Specifies the name of the Struts `ActionFormBean` definition object to be exposed. | String
forward | Specifies the name of the global Struts `ActionForward` definition object to be exposed. | String
id* | Specifies the name of the scripting variable (and associated page scope attribute) that will be made available with the value of the specified Struts internal configuration object. | String
mapping | Specifies the matching path of the Struts `ActionMapping` definition object to be exposed. | String

### <bean:write>

Render the value of the specified bean property to the current JspWriter.

Retrieve the value of the specified bean property, and render it to the current JspWriter as a String by the ways:

- If `format` attribute exists then value will be formatted on base of format string from `format` attribute and default system locale.
- If in resources exists format string for value data type (view `format` attribute description) then value will be formatted on base of format string from resources. Resources bundle and target locale can be specified with `bundle` and `locale` attributes. If nothing specified then default resource bundle and current user locale will be used.
- If there is a PropertyEditor configured for the property value's class, the `getAsText()` method will be called.
- Otherwise, the usual `toString()` conversions will be applied.

When a format string is provided, numeric values are formatted using the `java.text.DecimalFormat` class; if the format string came from a resource, the `applyLocalisedPattern()` method is used, and `applyPattern()` is used otherwise. Dates are formatted using the `SimpleDateFormat` class. For details of the specific format patterns, please see the Javadocs for those classes.

If a problem occurs while retrieving the specified bean property, a request time exception will be thrown.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | The name of the application scope bean under which the `MessageResources` object containing our messages is stored. | String
filter | If this attribute is set to `true`, the rendered property value will be filtered for characters that are sensitive in HTML, and any such characters will be replaced by their entity equivalents. | boolean
format | Specifies the format string to use to convert bean or property value to the `String`. If nothing specified, then default format string for value data type will be searched in message resources by according key. | String
formatKey | Specifies the key to search format string in application resources. | String
ignore | If this attribute is set to `true`, and the bean specified by the `name` and `scope` attributes does not exist, simply return without writing anything. If this attribute is set to `false`, a runtime exception to be thrown, consistent with the other tags in this tag library. | boolean
locale | The name of the session scope bean under which our currently selected `Locale` object is stored. | String
name* | Specifies the attribute name of the bean whose property is accessed to retrieve the value specified by `property` (if specified). If `property` is not specified, the value of this bean itself will be rendered. | String
property | Specifies the name of the property to be accessed on the bean specified by `name`. This value may be a simple, indexed, or nested property reference expression. If not specified, the bean identified by `name` will itself be rendered. If the specified property returns null, no output will be rendered. | String
scope | Specifies the variable scope searched to retrieve the bean specified by `name`. If not specified, the default rules applied by `PageContext.findAttribute()` are applied. | String

## html

This taglib contains tags used to create struts input forms, as well as other tags generally useful in the creation of HTML-based user interfaces.

Many of the tags in this tag library will throw a `JspException` at runtime when they are utilized incorrectly (such as when you specify an invalid combination of tag attributes). JSP allows you to declare an "error page" in the `<%@ page %>` directive. If you wish to process the actual exception that caused the problem, it is passed to the error page as a request attribute under key `org.apache.struts.action.EXCEPTION`.

This is version 1.3.

- base Render an HTML &lt;base&gt; Element Renders an HTML &lt;base&gt; element with an href attribute pointing to the absolute location of the enclosing JSP page
- button Render A Button Input Field Renders an HTML &lt;input&gt; element of type button, populated from the specified value or the content of this tag body
- cancel Render a Cancel Button Renders an HTML &lt;input&gt; element of type submit
- checkbox Render A Checkbox Input Field Renders an HTML &lt;input&gt; element of type checkbox, populated from the specified value or the specified property of the bean associated with our current form
- errors Conditionally display a set of accumulated error messages
- file Render A File Select Input Field Renders an HTML &lt;input&gt; element of type file, defaulting to the specified value or the specified property of the bean associated with our current form
- form Define An Input Form Renders an HTML &lt;form&gt; element whose contents are described by the body content of this tag
- frame Render an HTML frame element Renders an HTML &lt;frame&gt; element with processing for the src attribute that is identical to that performed by the &lt;html:link&gt; tag for the href attribute
- hidden Render A Hidden Field Renders an HTML &lt;input&gt; element of type hidden, populated from the specified value or the specified property of the bean associated with our current form
- html Render an HTML &lt;html&gt; Element Renders an HTML &lt;html&gt; element with language attributes extracted from the user's current Locale object, if there is one
- image Render an input tag of type "image" Renders an HTML &lt;input&gt; tag of type "image"
- img Render an HTML img tag Renders an HTML &lt;img&gt; element with the image at the specified URL
- javascript Render JavaScript validation based on the validation rules loaded by the ValidatorPlugIn
- link Render an HTML anchor or hyperlink Renders an HTML &lt;a&gt; element as an anchor definition (if "linkName" is specified) or as a hyperlink to the specified URL
- messages Conditionally display a set of accumulated messages
- multibox Render A Checkbox Input Field Renders an HTML &lt;input&gt; element of type checkbox, whose "checked" status is initialized based on whether the specified value matches one of the elements of the underlying property's array of current values
- option Render A Select Option Render an HTML &lt;option&gt; element, representing one of the choices for an enclosing &lt;select&gt; element
- options Render a Collection of Select Options Renders a set of HTML &lt;option&gt; elements, representing possible choices for a &lt;select&gt; element
- optionsCollection Render a Collection of Select Options Renders a set of HTML &lt;option&gt; elements, representing possible choices for a &lt;select&gt; element
- param Adds a parameter to the following tags: &lt;html:frame&gt; &lt;html:link&gt; &lt;html:rewrite&gt; Since: Struts 1
- password Render A Password Input Field Renders an HTML &lt;input&gt; element of type password, populated from the specified value or the specified property of the bean associated with our current form
- radio Render A Radio Button Input Field Renders an HTML &lt;input&gt; element of type radio, populated from the specified property of the bean associated with our current form
- reset Render A Reset Button Input Field Renders an HTML &lt;input&gt; element of type reset
- rewrite Render an URI Renders a request URI based on exactly the same rules as the &lt;html:link&gt; tag does, but without creating the &lt;a&gt; hyperlink
- select Render A Select Element Renders an HTML &lt;select&gt; element, associated with a bean property specified by our attributes
- submit Render A Submit Button Renders an HTML &lt;input&gt; element of type submit
- text Render An Input Field of Type text Render an input field of type text
- textarea Render A Textarea Render a textarea element
- xhtml Render HTML tags as XHTML Using this tag in a page tells all other html taglib tags to render themselves as XHTML 1

Required attributes are marked with a *

### <html:base>

Render an HTML `<base>` Element

Renders an HTML `<base>` element with an `href` attribute pointing to the absolute location of the enclosing JSP page. This tag is valid only when nested inside an HTML `<head>` element.

This tag is useful because it allows you to use relative URL references in the page that are calculated based on the URL of the page itself, rather than the URL to which the most recent submit took place (which is where the browser would normally resolve relative references against).

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
ref | The reference from which the base uri will created. Possible values are: `page` - The base uri will be the jsp page location. (default) `site` - The base uri will be the application context path. Since: Struts 1.3 | String
server | The server name to use instead of request.getServerName(). | String
target | The window target for this base reference. | String

### <html:button>

Render A Button Input Field

Renders an HTML <input> element of type `button`, populated from the specified value or the content of this tag body. This tag is only valid when nested inside a form tag body.

If a graphical button is needed (a button with an image), then the `<html:image>` tag is more appropriate.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
indexed | Valid only inside of `logic:iterate` tag. If `true` then name of the html tag will be rendered as "propertyName[34]". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value of the label to be placed on this button. This value will also be submitted as the value of the specified request parameter. [Body of this tag (if any), or "Click"] | String

### <html:cancel>

Render a Cancel Button

Renders an HTML <input> element of type submit. This tag is only valid when nested inside a form tag body. Pressing of this submit button causes the action servlet to bypass calling the associated form bean validate() method. The action is called normally.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property | Name of the request parameter that will be included with this submission, set to the specified value. WARNING - If you set this attribute to a value other than the default, this will NOT be recognized as the cancel key by the Struts controller servlet or the `Action.isCancelled()` method. You will need to do your own cancel detection. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value of the label to be placed on this button. This value will also be submitted as the value of the specified request parameter. [Body of this tag (if any), or "Cancel"] | String

### <html:checkbox>

Render A Checkbox Input Field

Renders an HTML <input> element of type `checkbox`, populated from the specified value or the specified property of the bean associated with our current form. This tag is only valid when nested inside a form tag body.

NOTE: The underlying property value associated with this field should be of type `boolean`, and any `value` you specify should correspond to one of the Strings that indicate a true value ("true", "yes", or "on"). If you wish to utilize a set of related String values, consider using the `multibox` tag.

WARNING: In order to correctly recognize unchecked checkboxes, the `ActionForm` bean associated with this form must include a statement setting the corresponding boolean property to `false` in the `reset()` method.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of `logic:iterate` tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | The value to be transmitted if this checkbox is checked when the form is submitted. If not specified, the value "on" will be returned. | String

### <html:errors>

Conditionally display a set of accumulated error messages.

Displays a set of error messages prepared by a business logic component and stored as an `ActionMessages` object, an `ActionErrors` object, a String, or a String array in any scope. If such a bean is not found, nothing will be rendered.

In order to use this tag successfully, you must have defined an application scope `MessageResources` bean under the default attribute name, with optional definitions of message keys specified in the following attributes:

- header - Text that will be rendered before the error messages list. Typically, this message text will end with `<ul>` to start the error messages list (default "errors.header").
- footer - Text that will be rendered after the error messages list. Typically, this message text will begin with `</ul>` to end the error messages list (default "errors.footer").
- prefix - Text that will be rendered before each individual error in the list (default "errors.prefix").
- suffix - Text that will be rendered after each individual error in the list (default "errors.suffix").

See the `messages` tag for an alternative to this tag that does not rely on HTML in your `MessageResources`.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | The servlet context attribute key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. | String
footer | This value is an optional message resource key that will be printed after the iteration of error messages has finished. Defaults to "errors.footer" if not specified. Since: Struts 1.2.5 | String
header | This value is an optional message resource key that will be printed before the iteration of error messages begins. Defaults to "errors.header" if not specified. Since: Struts 1.2.5 | String
locale | The session attribute key for the Locale used to select messages to be displayed. If not specified, defaults to the Struts standard value. | String
name | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. | String
prefix | This value is an optional message resource key that will be printed before an error message. Defaults to "errors.prefix" if not specified. Since: Struts 1.2.5 | String
property | Name of the property for which error messages should be displayed. If not specified, all error messages (regardless of property) are displayed. | String
suffix | This value is an optional message resource key that will be printed after an error message. Defaults to "errors.suffix" if not specified. Since: Struts 1.2.5 | String

### <html:file>

Render A File Select Input Field

Renders an HTML <input> element of type file, defaulting to the specified value or the specified property of the bean associated with our current form. This tag is only valid when nested inside a form tag body.

As with the corresponding HTML <input> element, the enclosing form element must specify "POST" for the `method` attribute, and "multipart/form-data" for the `enctype` attribute. For example:

        <html:form method="POST" enctype="multipart/form-data">
            <html:file property="theFile" />
        </html:form>

WARNING: In order to correctly recognize uploaded files, the ActionForm bean associated with this form must include a statement setting the corresponding org.apache.struts.upload.FormFile property to null in the reset() method.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accept | Comma-delimited set of content types that the server you submit to knows how to process. This list can be used by the client browser to limit the set of file options that is made available for selection. If not specified, no content type list will be sent. | String
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of `logic:iterate` tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | Maximum number of input characters to accept. This is ignored by most browsers. [No limit] | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
size | Size of the file selection box to be displayed. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | NOTE: When setting this to some value, whether intentional or as the result (for example) of validation errors forcing the user back to the original jsp, this value is ignored by most browsers (for security reasons). This means that your users will have to re-select any previously selected files when submitting the form. Opera web browser will prompt the user so they have a chance to abort the submit. Value to which this field should be initialized. [Use the corresponding bean property value or body content (if any) if property is not specified] | String

### <html:form>

Define An Input Form

Renders an HTML <form> element whose contents are described by the body content of this tag. The form implicitly interacts with the specified request scope or session scope bean to populate the input fields with the current property values from the bean.

The form bean is located, and created if necessary, based on the form bean specification for the associated `ActionMapping`.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
acceptCharset | The list of character encodings for input data that the server should accept. Since: Struts 1.2.2 | String
action | The URL to which this form will be submitted. This value is also used to select the ActionMapping we are assumed to be processing, from which we can identify the appropriate form bean and scope. If a value is not provided, the original URI (servletPath) for the request is used. If you are using extension mapping for selecting the controller servlet, this value should be equal to the `path` attribute of the corresponding `<action>` element, optionally followed by the correct extension suffix. If you are using path mapping to select the controller servlet, this value should be exactly equal to the `path` attribute of the corresponding `<action>` element. | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if the Form's input fields should be disabled. Since: Struts 1.2.7 | boolean
enctype | The content encoding to be used to submit this form, if the method is POST. This must be set to "multipart/form-data" if you are using the file tag to enable file upload. If not specified, the browser default (normally "application/x-www-form-urlencoded") is used. | String
focus | The field name (among the fields on this form) to which initial focus will be assigned with a JavaScript function. If not specified, no special JavaScript for this purpose will be rendered. | String
focusIndex | If the focus field is a field array, such as a radio button group, you can specify the index in the array to receive focus. Since: Struts 1.1 | String
lang | The language code for this element. Since: Struts 1.3.6 | String
method | The HTTP method that will be used to submit this request (GET, POST). [POST] | String
onreset | JavaScript event handler executed if the form is reset. | String
onsubmit | JavaScript event handler executed if the form is submitted. | String
readonly | Set to `true` if the Form's input fields should be read only. Since: Struts 1.2.7 | boolean
scriptLanguage | The form's focus <script> element will not contain a language attribute when this is set to false. The default is true but this property is ignored in XHMTL mode. Since: Struts 1.2 | boolean
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
target | Window target to which this form is submitted, such as for use in framed presentations. | String

### <html:frame>

Render an HTML frame element

Renders an HTML `<frame>` element with processing for the `src` attribute that is identical to that performed by the `<html:link>` tag for the `href` attribute. URL rewriting will be applied automatically, to maintain session state in the absence of cookies.

The base URL for this frame is calculated based on which of the following attributes you specify (you must specify exactly one of them):

- forward - Use the value of this attribute as the name of a global `ActionForward` to be looked up, and use the module-relative or context-relative URI found there.
- href - Use the value of this attribute unchanged.
- page - Use the value of this attribute as a module-relative URI, and generate a server-relative URI by including the context path and application prefix.
- action - Use the value of this attribute as the logical name of a global Action that contains the actual content-relative URI of the destination of this transfer.

Normally, the hyperlink you specify with one of the attributes described in the previous paragraph will be left unchanged (other than URL rewriting if necessary). However, there are two ways you can append one or more dynamically defined query parameters to the hyperlink -- specify a single parameter with the `paramId` attribute (and its associated attributes to select the value), or specify the `name` (and optional `property`) attributes to select a `java.util.Map` bean that contains one or more parameter ids and corresponding values.

To specify a single parameter, use the `paramId` attribute to define the name of the request parameter to be submitted. To specify the corresponding value, use one of the following approaches:

- Specify only the `paramName` attribute - The named JSP bean (optionally scoped by the value of the `paramScope` attribute) must identify a value that can be converted to a String.
- Specify both the `paramName` and `paramProperty` attributes - The specified property getter method will be called on the JSP bean identified by the `paramName` (and optional `paramScope`) attributes, in order to select a value that can be converted to a String.

If you prefer to specify a `java.util.Map` that contains all of the request parameters to be added to the hyperlink, use one of the following techniques:

- Specify only the `name` attribute - The named JSP bean (optionally scoped by the value of the `scope` attribute) must identify a `java.util.Map` containing the parameters.
- Specify both `name` and `property` attributes - The specified property getter method will be called on the bean identified by the `name` (and optional `scope`) attributes, in order to return the `java.util.Map` containing the parameters.

As the `Map` is processed, the keys are assumed to be the names of query parameters to be appended to the hyperlink. The value associated with each key must be either a String or a String array representing the parameter value(s), or an object whose toString() method will be called. If a String array is specified, more than one value for the same query parameter name will be created.

Additionally, you can request that the current transaction control token, if any, be included in the generated hyperlink by setting the `transaction` attribute to `true`. You can also request that an anchor ("#xxx") be added to the end of the URL that is created by any of the above mechanisms, by using the `anchor` attribute.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
action | Logical name of a global `Action` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. Additionally, you can specify a `module` prefix for linking to other modules. | String
anchor | Optional anchor tag ("#xxx") to be added to the generated hyperlink. Specify this value without any "#" character. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
forward | Logical name of a global `ActionForward` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
frameName | Value for the `name` attribute of the rendered `<frame>` element. | String
frameborder | Should a frame border be generated around this frame (1) or not (0)? | String
href | The URL to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
longdesc | URI of a long description of the frame. This description should supplement the short description provided by the `title` attribute, and may be particularly useful for non-visual user agents. | String
marginheight | The amount of space (in pixels) to be left between the frame's contents and its top and bottom margins. | String
marginwidth | The amount of space (in pixels) to be left between the frame's contents and its left and right margins. | String
module | Prefix name of a `Module` that contains the action mapping for the `Action` that is specified by the `action` attribute. You must specify an `action` attribute for this to have an effect. Note: Use "" to map to the default module. | String
name | The name of a JSP bean that contains a `Map` representing the query parameters (if `property` is not specified), or a JSP bean whose property getter is called to return a `Map` (if `property` is specified). | String
noresize | Should users be disallowed from resizing the frame? (true, false). | boolean
page | The module-relative path (beginning with a "/" character) to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
paramId | The name of the request parameter that will be dynamically added to the generated hyperlink. The corresponding value is defined by the `paramName` and (optional) `paramProperty` attributes, optionally scoped by the `paramScope` attribute | String
paramName | The name of a JSP bean that is a String containing the value for the request parameter named by `paramId` (if `paramProperty` is not specified), or a JSP bean whose property getter is called to return a String (if `paramProperty` is specified). The JSP bean is constrained to the bean scope specified by the `paramScope` property, if it is specified. | String
paramProperty | The name of a property of the bean specified by the `paramName` attribute, whose return value must be a String containing the value of the request parameter (named by the `paramId` attribute) that will be dynamically added to this hyperlink. | String
paramScope | The scope within which to search for the bean specified by the `paramName` attribute. If not specified, all scopes are searched. | String
property | The name of a property of the bean specified by the `name` attribute, whose return value must be a `java.util.Map` containing the query parameters to be added to the hyperlink. You must specify the `name` attribute if you specify this attribute. | String
scope | The scope within which to search for the bean specified by the `name` attribute. If not specified, all scopes are searched. | String
scrolling | Should scroll bars be created unconditionally (yes), never (no), or only when needed (auto)? | String
style | CSS styles to be applied to this element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
transaction | If set to `true`, any current transaction control token will be included in the generated hyperlink, so that it will pass an `isTokenValid()` test in the receiving Action. | boolean

### <html:hidden>

Render A Hidden Field

Renders an HTML <input> element of type hidden, populated from the specified value or the specified property of the bean associated with our current form. This tag is only valid when nested inside a form tag body.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
indexed | Valid only inside of `logic:iterate` tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of this input field, and the name of the corresponding bean property if value is not specified. The corresponding bean property (if any) must be of type String. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value to which this field should be initialized. [Use the corresponding bean property value] | String
write | Should the value of this field also be rendered to the response page to make it visible, in addition to creating an HTML type="hidden" element? By default, only the hidden element is created. | boolean

### <html:html>

Render an HTML `<html>` Element

Renders an HTML `<html>` element with language attributes extracted from the user's current Locale object, if there is one.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
lang | Renders a lang attribute with the locale stored in the user's session. If not found in the session, the language from the `Accept-Language` HTTP header is used. If still not found, the default language for the server is used. Since: Struts 1.2 | boolean
xhtml | Set to `true` in order to render `xml:lang` and `xmlns` attributes on the generated `html` element. This also causes all other html tags to render as XHTML 1.0 (the <html:xhtml/> tag has a similar purpose). Since: Struts 1.1 | boolean

### <html:image>

Render an input tag of type "image"

Renders an HTML `<input>` tag of type "image". The base URL for this image is calculated directly based on the value specified in the `src` or `page` attributes, or indirectly by looking up a message resource string based on the `srcKey` or `pageKey` attributes. You must specify exactly one of these attributes.

If you would like to obtain the coordinates of the mouse click that submitted this request, see the information below on the `property` attribute.

This tag is only valid when nested inside a form tag body.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
align | The alignment option for this image. | String
alt | The alternate text for this image. | String
altKey | The message resources key of the alternate text for this image. | String
border | The width (in pixels) of the border around this image. | String
bundle | The servlet context attribute key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "propertyName[34]". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
locale | The session attribute key for the Locale used to select internationalized messages. If not specified, defaults to the Struts standard value. | String
module | Prefix name of a `Module` that the `page` or `pageKey` attributes relate to. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
page | The module-relative path of the image for this input tag. | String
pageKey | The key of the message resources string specifying the module-relative path of the image for this input tag. | String
property | The property name of this image tag. The parameter names for the request will appear as "property.x" and "property.y", the x and y representing the coordinates of the mouse click for the image. A way of retrieving these values through a form bean is to define getX(), getY(), setX(), and setY() methods, and specify your property as a blank string (property=""). | String
src | The source URL of the image for this input tag. | String
srcKey | The key of the message resources string specifying the source URL of the image for this input tag. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | The value that will be submitted if this image button is pressed. | String

### <html:img>

Render an HTML img tag

Renders an HTML `<img>` element with the image at the specified URL. Like the link tag, URL rewriting will be applied automatically to the value specified in `src`, `page`, or `action` to maintain session state in the absence of cookies. This will allow dynamic generation of an image where the content displayed for this image will be taken from the attributes of this tag.

The base URL for this image is calculated directly based on the value specified in `src`, `page`, or `action` or `page`, or indirectly by looking up a message resource string based on the `srcKey` or `pageKey` attributes. You must specify exactly one of these attributes.

Normally, the `src`, `page`, or `action` that you specify will be left unchanged (other than URL rewriting if necessary). However, there are two ways you can append one or more dynamically defined query parameters to the `src` URL -- specify a single parameter with the `paramId` attribute (at its associated attributes to select the value), or specify the `name` (and optional `property`) attributes to select a `java.util.Map` bean that contains one or more parameter ids and corresponding values.

To specify a single parameter, use the `paramId` attribute to define the name of the request parameter to be submitted. To specify the corresponding value, use one of the following approaches:

- Specify only the `paramName` attribute - The named JSP bean (optionally scoped by the value of the `paramScope` attribute) must identify a value that can be converted to a String.
- Specify both the `paramName` and `paramProperty` attributes - The specified property getter will be called on the JSP bean identified by the `paramName` (and optional `paramScope`) attributes, in order to select a value that can be converted to a String.

If you prefer to specify a `java.util.Map` that contains all of the request parameters to be added to the hyperlink, use one of the following techniques:

- Specify only the `name` attribute - The named JSP bean (optionally scoped by the value of the `scope` attribute) must identify a `java.util.Map` containing the parameters.
- Specify both `name` and `property` attributes - The specified property getter method will be called on the bean identified by the `name` (and optional `scope`) attributes, in order to return the `java.util.Map` containing the parameters.

As the `Map` is processed, the keys are assumed to be the names of query parameters to be appended to the `src` URL. The value associated with each key must be either a String or a String array representing the parameter value(s), or an object whose toString() method will be called. If a String array is specified, more than one value for the same query parameter name will be created.

You can specify the alternate text for this image (which most browsers display as pop-up text block when the user hovers the mouse over this image) either directly, through the `alt` attribute, or indirectly from a message resources bundle, using the `bundle` and `altKey` attributes.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
action | The action, starting with a slash, that will render the image to be displayed by this tag. The rendered URL for this image will automatically prepend the context path of this web application (in the same manner as the `action` attribute on the link tag works), in addition to any necessary URL rewriting. You must specify the `action`, `page` attribute or the `src` attribute. Additionally, you can specify a `module` prefix for linking to other modules. | String
align | Where the image is aligned to. Can be one of the following attributes: left - left justify, wrapping text on right right -right justify, wrapping test on left top - aligns the image with the top of the text on the same row middle - aligns the image's vertical center with the text base line bottom - aligns the image with the bottom of the text's base line texttop - aligns the image's top with that of the text font on the same line absmiddle - aligns the image's vertical center with the absolute center of the text absbottom - aligns the image with the absolute bottom of the text font on the same row | String
alt | And alternative text to be displayed in browsers that don't support graphics. Also used often as type of context help over images. | String
altKey | The message resources key of the alternate text for this element. | String
border | The width of the border surrounding the image. | String
bundle | The servlet context attribute key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
height | The height of the image being displayed. This parameter is very nice to specify (along with `width`) to help the browser render the page faster. | String
hspace | The amount of horizontal spacing between the icon and the text. The text may be in the same paragraph, or be wrapped around the image. | String
imageName | The scriptable name to be defined within this page, so that you can reference it with intra-page scripts. In other words, the value specified here will render a "name" element in the generated image tag. | String
ismap | The name of the server-side map that this image belongs to. | String
lang | The language code for this element. Since: Struts 1.3.6 | String
locale | The name of the request or session Locale attribute used to look up internationalized messages. | String
module | Prefix name of a `Module` that contains the action mapping for the `Action` that is specified by the `action` attribute. You must specify an `action` attribute for this to have an effect. Note: Use "" to map to the default module. | String
name | The name of a JSP bean that contains a `Map` representing the query parameters (if `property` is not specified), or a JSP bean whose property getter is called to return a `Map` (if `property` is specified). | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onkeydown | JavaScript event handler that is executed when this element receives a key down event. | String
onkeypress | JavaScript event handler that is executed when this element receives a key press event. | String
onkeyup | JavaScript event handler that is executed when this element receives a key up event. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
page | The module-relative path, starting with a slash, of the image to be displayed by this tag. The rendered URL for this image will automatically prepend the context path of this web application (in the same manner as the `page` attribute on the link tag works), in addition to any necessary URL rewriting. You must specify either the `page` attribute or the `src` attribute. | String
pageKey | The message key, in the message resources bundle named by the `bundle` attribute, of the String to be used as the module-relative path for this image. | String
paramId | The name of the request parameter that will be dynamically added to the generated src URL. The corresponding value is defined by the `paramName` and (optional) `paramProperty` attributes, optionally scoped by the `paramScope` attribute | String
paramName | The name of a JSP bean that is a String containing the value for the request parameter named by `paramId` (if `paramProperty` is not specified), or a JSP bean whose property getter is called to return a String (if `paramProperty` is specified). The JSP bean is constrained to the bean scope specified by the `paramScope` property, if it is specified. | String
paramProperty | The name of a property of the bean specified by the `paramName` attribute, whose return value must be a String containing the value of the request parameter (named by the `paramId` attribute) that will be dynamically added to this src URL. | String
paramScope | The scope within which to search for the bean specified by the `paramName` attribute. If not specified, all scopes are searched. | String
property | The name of a property of the bean specified by the `name` attribute, whose return value must be a `java.util.Map` containing the query parameters to be added to the src URL. You must specify the `name` attribute if you specify this attribute. | String
scope | The scope within which to search for the bean specified by the `name` attribute. If not specified, all scopes are searched. | String
src | The URL to which this image will be transferred from This image may be dynamically modified by the inclusion of query parameters, as described in the tag description. This value will be used unmodified (other than potential URL rewriting) as the value of the "src" attribute in the rendered tag. You must specify either the `page` attribute or the `src` attribute. | String
srcKey | The message key, in the message resources bundle named by the `bundle` attribute, of the String to be used as the URL of this image. | String
style | CSS styles to be applied to this element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
useLocalEncoding | If set to `true`, LocalCharacterEncoding will be used, that is, the characterEncoding set to the HttpServletResponse, as prefered character encoding rather than UTF-8, when URLEncoding is done on parameters of the URL. | boolean
usemap | The name of the map as defined within this page for mapping hot-spot areas of this image. | String
vspace | The amount of vertical spacing between the icon and the text, above and below. | String
width | The width of the image being displayed. This parameter is very nice to specify (along with `height`) to help the browser render the page faster. | String

### <html:javascript>

Render JavaScript validation based on the validation rules loaded by the ValidatorPlugIn.

Render JavaScript validation based on the validation rules loaded by the `ValidatorPlugIn`. The set of validation rules that should be generated is based on the formName attribute passed in, which should match the name attribute of the form element in the xml file.

The dynamicJavascript and staticJavascript attributes default to true, but if dynamicJavascript is set to `true` and staticJavascript is set to `false` then only the dynamic JavaScript will be rendered. If dynamicJavascript is set to `false` and staticJavascript is set to `true` then only the static JavaScript will be rendered which can then be put in separate JSP page so the browser can cache the static JavaScript.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.7 | String
cdata | If set to "true" and XHTML has been enabled, the JavaScript will be wrapped in a CDATA section to prevent XML parsing. The default is "true" to comply with the W3C's recommendation. Since: Struts 1.1 | String
dynamicJavascript | Whether or not to render the dynamic JavaScript. Defaults to `true`. | String
formName | The key (form name) to retrieve a specific set of validation rules. If "dynamicJavascript" is set to `true` and formName is missing or is not recognized by the `ValidatorPlugIn`, a JspException will be thrown. | String
htmlComment | Whether or not to enclose the javascript with HTML comments. This attribute is ignored in XHTML mode because the script would be deleted by the XML parser. See the cdata attribute for details on hiding scripts from XML parsers. Defaults to `true`. | String
method | The alternate JavaScript method name to be used instead of the of the default. The default is 'validate' concatenated in front of the key (form name) passed in (ex: validateRegistrationForm). | String
page | The current page of a set of validation rules if the page attribute for the field element in the xml file is in use. | int
scriptLanguage | The <script> element will not contain a language attribute when this is set to false. The default is true but this property is ignored in XHTML mode. Since: Struts 1.2 | boolean
src | The src attribute's value when defining the html script element. | String
staticJavascript | Whether or not to render the static JavaScript. Defaults to `true`. | String

### <html:link>

Render an HTML anchor or hyperlink

Renders an HTML `<a>` element as an anchor definition (if "linkName" is specified) or as a hyperlink to the specified URL. URL rewriting will be applied automatically, to maintain session state in the absence of cookies. The content displayed for this hyperlink will be taken from the body of this tag.

The base URL for this hyperlink is calculated based on which of the following attributes you specify (you must specify exactly one of them):

- forward - Use the value of this attribute as the name of a global `ActionForward` to be looked up, and use the module-relative or context-relative URI found there. If the forward is module-relative then it must point to an action and NOT to a page.
- action - Use the value of this attribute as the name of a `Action` to be looked up, and use the module-relative or context-relative URI found there.
- href - Use the value of this attribute unchanged.
- page - Use the value of this attribute as a module-relative URI, and generate a server-relative URI by including the context path and module prefix.

Normally, the hyperlink you specify with one of the attributes described in the previous paragraph will be left unchanged (other than URL rewriting if necessary). However, there are three ways you can append one or more dynamically defined query parameters to the hyperlink -- specify a single parameter with the `paramId` attribute (and its associated attributes to select the value), or specify the `name` (and optional `property`) attributes to select a `java.util.Map` bean that contains one or more parameter ids and corresponding values, or nest one or more <html:param> tags in the tag body.

To specify a single parameter, use the `paramId` attribute to define the name of the request parameter to be submitted. To specify the corresponding value, use one of the following approaches:

- Specify only the `paramName` attribute - The named JSP bean (optionally scoped by the value of the `paramScope` attribute) must identify a value that can be converted to a String.
- Specify both the `paramName` and `paramProperty` attributes - The specified property getter method will be called on the JSP bean identified by the `paramName` (and optional `paramScope`) attributes, in order to select a value that can be converted to a String.

If you prefer to specify a `java.util.Map` that contains all of the request parameters to be added to the hyperlink, use one of the following techniques:

- Specify only the `name` attribute - The named JSP bean (optionally scoped by the value of the `scope` attribute) must identify a `java.util.Map` containing the parameters.
- Specify both `name` and `property` attributes - The specified property getter method will be called on the bean identified by the `name` (and optional `scope`) attributes, in order to return the `java.util.Map` containing the parameters.

As the `Map` is processed, the keys are assumed to be the names of query parameters to be appended to the hyperlink. The value associated with each key must be either a String or a String array representing the parameter value(s), or an object whose toString() method will be called. If a String array is specified, more than one value for the same query parameter name will be created.

Supplmenting these two methods, you can nest one or more <html:param> tags to dynamically add parameters in a logic-friendly way (such as executing a for loop that assigns the name/value pairs at runtime). This method does not compete with the aforementioned; it will adds its parameters in addition to whatever parameters are already specified.

Additionally, you can request that the current transaction control token, if any, be included in the generated hyperlink by setting the `transaction` attribute to `true`. You can also request that an anchor ("#xxx") be added to the end of the URL that is created by any of the above mechanisms, by using the `anchor` attribute.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
action | Logical name of a `Action` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. Additionally, you can specify a `module` prefix for linking to other modules. | String
anchor | Optional anchor tag ("#xxx") to be added to the generated hyperlink. Specify this value without any "#" character. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
forward | Logical name of a global `ActionForward` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
href | The URL to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
indexId | By this attribute different name for the indexed parameter can be specified. Take a look to the "indexed" attribute for details. | String
indexed | Valid only inside of logic:iterate tag. If `true` then indexed parameter with name from indexId attribute will be added to the query string. Indexed parameter looks like "index[32]". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
linkName | The anchor name to be defined within this page, so that you can reference it with intra-page hyperlinks. In other words, the value specified here will render a "name" element in the generated anchor tag. | String
module | Prefix name of a `Module` that contains the action mapping for the `Action` that is specified by the `action` attribute. You must specify an `action` attribute for this to have an effect. Note: Use "" to map to the default module. | String
name | The name of a JSP bean that contains a `Map` representing the query parameters (if `property` is not specified), or a JSP bean whose property getter is called to return a `Map` (if `property` is specified). | String
onblur | JavaScript event handler that is executed when this element loses input focus. | String
onclick | JavaScript event handler that is executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler that is executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler that is executed when this element receives input focus. | String
onkeydown | JavaScript event handler that is executed when this element receives a key down event. | String
onkeypress | JavaScript event handler that is executed when this element receives a key press event. | String
onkeyup | JavaScript event handler that is executed when this element receives a key up event. | String
onmousedown | JavaScript event handler that is executed when this element receives a mouse down event. | String
onmousemove | JavaScript event handler that is executed when this element receives a mouse move event. | String
onmouseout | JavaScript event handler that is executed when this element receives a mouse out event. | String
onmouseover | JavaScript event handler that is executed when this element receives a mouse over event. | String
onmouseup | JavaScript event handler that is executed when this element receives a mouse up event. | String
page | The module-relative path (beginning with a "/" character) to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
paramId | The name of the request parameter that will be dynamically added to the generated hyperlink. The corresponding value is defined by the `paramName` and (optional) `paramProperty` attributes, optionally scoped by the `paramScope` attribute | String
paramName | The name of a JSP bean that is a String containing the value for the request parameter named by `paramId` (if `paramProperty` is not specified), or a JSP bean whose property getter is called to return a String (if `paramProperty` is specified). The JSP bean is constrained to the bean scope specified by the `paramScope` property, if it is specified. | String
paramProperty | The name of a property of the bean specified by the `paramName` attribute, whose return value must be a String containing the value of the request parameter (named by the `paramId` attribute) that will be dynamically added to this hyperlink. | String
paramScope | The scope within which to search for the bean specified by the `paramName` attribute. If not specified, all scopes are searched. | String
property | The name of a property of the bean specified by the `name` attribute, whose return value must be a `java.util.Map` containing the query parameters to be added to the hyperlink. You must specify the `name` attribute if you specify this attribute. | String
scope | The scope within which to search for the bean specified by the `name` attribute. If not specified, all scopes are searched. | String
style | CSS styles to be applied to this element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
target | The window target in which the resource requested by this hyperlink will be displayed, for example in a framed presentation. | String
title | The advisory title for this hyperlink. | String
titleKey | The message resources key for the advisory title for this element. | String
transaction | If set to `true`, any current transaction control token will be included in the generated hyperlink, so that it will pass an `isTokenValid()` test in the receiving Action. | boolean
useLocalEncoding | If set to `true`, LocalCharacterEncoding will be used, that is, the characterEncoding set to the HttpServletResponse, as prefered character encoding rather than UTF-8, when URLEncoding is done on parameters of the URL. | boolean

### <html:messages>

Conditionally display a set of accumulated messages.

Displays a set of messages prepared by a business logic component and stored as an `ActionMessages` object, `ActionErrors` object, a String, or a String array in any scope. If such a bean is not found, nothing will be rendered. The messages are placed into the page scope in the body of this tag where they can be displayed by standard JSP methods. (For example: `<bean:write>`,`<c:out>`)

In order to use this tag successfully, you must have defined an application scope `MessageResources` bean under the default attribute name.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | The servlet context attribute key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. | String
footer | This value is an optional message resource key that will be printed after the iteration of messages has finished. | String
header | This value is an optional message resource key that will be printed before the iteration of messages begins. | String
id* | The name of a page scope JSP bean that will contain the current element of the collection of messages on each iteration, if it is not `null`. | String
locale | The session attribute key for the Locale used to select messages to be displayed. If not specified, defaults to the Struts standard value. | String
message | By default the tag will retrieve the bean it will iterate over from the `Globals.ERROR_KEY` constant string, but if this attribute is set to 'true' the bean will be retrieved from the `Globals.MESSAGE_KEY` constant string. Also if this is set to 'true', any value assigned to the name attribute will be ignored. | String
name | Name of the bean in any scope under which our messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. | String
property | Name of the property for which messages should be displayed. If not specified, all messages (regardless of property) are displayed. | String

### <html:multibox>

Render A Checkbox Input Field

Renders an HTML <input> element of type `checkbox`, whose "checked" status is initialized based on whether the specified value matches one of the elements of the underlying property's array of current values. This element is useful when you have large numbers of checkboxes, and prefer to combine the values into a single array-valued property instead of multiple boolean properties. This tag is only valid when nested inside a form tag body.

WARNING: In order to correctly recognize cases where none of the associated checkboxes are selected, the `ActionForm` bean associated with this form must include a statement setting the corresponding array to zero length in the `reset()` method.

The value to be returned to the server, if this checkbox is selected, must be defined by one of the following methods:

- Specify a `value` attribute, whose contents will be used literally as the value to be returned.
- Specify no `value` attribute, and the nested body content of this tag will be used as the value to be returned.

Also note that a map backed attribute cannot be used to hold a the String[] for a group of multibox tags.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | The value to be transmitted if this checkbox is checked when the form is submitted. | String

### <html:option>

Render A Select Option

Render an HTML `<option>` element, representing one of the choices for an enclosing `<select>` element. The text displayed to the user comes from either the body of this tag, or from a message string looked up based on the `bundle`, `locale`, and `key` attributes.

If the value of the corresponding bean property matches the specified value, this option will be marked selected. This tag is only valid when nested inside a `<html:select>` tag body.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this option should be disabled. | boolean
filter | Set to `true` if you want the option label to be filtered for sensitive characters in HTML. By default, such a value is NOT filtered. | boolean
key | If specified, defines the message key to be looked up in the resource bundle specified by `bundle` for the text displayed to the user for this option. If not specified, the text to be displayed is taken from the body content of this tag. | String
lang | The language code for this element. Since: Struts 1.3.6 | String
locale | The session attributes key for the Locale instance to use for looking up the message specified by the `key` attribute. If not specified, uses the standard Struts session attribute name. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
value* | Value to be submitted for this field if this option is selected by the user. | String

### <html:options>

Render a Collection of Select Options

Renders a set of HTML `<option>` elements, representing possible choices for a `<select>` element. This tag can be used multiple times within a single `<html:select>` element, either in conjunction with or instead of one or more `<html:option>` or `<html:optionsCollection>` elements.

This tag operates in one of two major modes, depending on whether or not the `collection` attribute is specified. If the `collection` attribute is included, the following rules apply:

- The collection attribute is interpreted as the name of a JSP bean, in some scope, that itself represents a collection of individual beans, one per option value to be rendered.
- The property attribute is interpreted as the name of a property of the individual beans included in the collection, and is used to retrieve the value that will be returned to the server if this option is selected.
- The labelProperty attribute is interpreted as the name of a property of the individual beans included in the collection, and is used to retrieve the label that will be displayed to the user for this option. If the `labelProperty` attribute is not specified, the property named by the `property` attribute will be used to select both the value returned to the server and the label displayed to the user for this option.

If the `collection` attribute is not specified, the rules described in the remainder of this section apply.

The collection of values actually selected depends on the presence or absence of the `name` and `property` attributes. The following combinations are allowed:

- Only `name` is specified - The value of this attribute is the name of a JSP bean in some scope that is the collection.
- Only `property` is specified - The value of this attribute is the name of a property of the ActionForm bean associated with our form, which will return the collection.
- Both `name` and `property` are specified - The value of the `name` attribute identifies a JSP bean in some scope. The value of the `property` attribute is the name of some property of that bean which will return the collection.

The collection of labels displayed to the user can be the same as the option values themselves, or can be different, depending on the presence or absence of the `labelName` and `labelProperty` attributes. If this feature is used, the collection of labels must contain the same number of elements as the corresponding collection of values. The following combinations are allowed:

- Neither `labelName` nor `labelProperty` is specified - The labels will be the same as the option values themselves.
- Only `labelName` is specified - The value of this attribute is the name of a JSP bean in some scope that is the collection.
- Only `labelProperty` is specified - The value of this attribute is the name of a property of the ActionForm bean associated with our form, which will return the collection.
- Both `labelName` and `labelProperty` are specified - The value of the `labelName` attribute identifies a JSP bean in some scope. The value of the `labelProperty` attribute is the name of some property of that bean which will return the collection.

Note that this tag does not support a `styleId` attribute, as it would have to apply the value to all the `option` elements created by this element, which would mean that more than one `id` element might have the same value, which the HTML specification says is illegal.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
collection | Name of the JSP bean (in some scope) which is itself a Collection of other beans, each of which has properties named by the "property" and "labelProperty" attributes that are used to retrieve the value and label for each option, respectively. | String
filter | Set to `false` if you do NOT want the option labels filtered for sensitive characters in HTML. By default, such values are filtered. | boolean
labelName | Name of the JSP bean (in some scope) containing the collection of labels to be displayed to the user for these options. | String
labelProperty | Property of the form bean, or the bean specified by the labelName attribute, that will return the collection of labels to be displayed to the user for these options. | String
name | Name of the JSP bean (in some scope) containing the collection of values to be returned to the server for these options. If not specified, the form bean associated with our form is assumed. | String
property | Property of the form bean, or the bean specified by the name attribute, that will return the collection of values to returned to the server for these options. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String

### <html:optionsCollection>

Render a Collection of Select Options

Renders a set of HTML `<option>` elements, representing possible choices for a `<select>` element. This tag can be used multiple times within a single `<html:select>` element, either in conjunction with or instead of one or more `<html:option>` or `<html:options>` elements.

This tag operates on a collection of beans, where each bean has a label property and a value property. The actual names of these properties can be configured using the `label` and `value` attributes of this tag.

This tag differs from the `<html:options>` tag in that it makes more consistent use of the `name` and `property` attributes, and allows the collection to be more easily obtained from the enclosing form bean.

Note that this tag does not support a `styleId` attribute, as it would have to apply the value to all the `option` elements created by this element, which would mean that more than one `id` element might have the same value, which the HTML specification says is illegal.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
filter | Set to `false` if you do NOT want the option labels filtered for sensitive characters in HTML. By default, such values are filtered. | boolean
label | The property of the bean within the collection which represents the label to be rendered for each option. Defaults to "label". | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
property | The property of the form bean, or the bean specified by the name attribute, that will return the collection of objects to be rendered for these options. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
value | The property of the bean within the collection which represents the value to be rendered for each option. Defaults to "value". | String

### <html:param>

Adds a parameter to the following tags:

1. <html:frame>
2. <html:link>
3. <html:rewrite>

Since: Struts 1.3.6

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
name* | The String containing the name of the request parameter. | String
value | The value of the request parameter specified by the `name` attribute, whose return value must be a String or String[] that will be dynamically added to this hyperlink. | String

### <html:password>

Render A Password Input Field

Renders an HTML <input> element of type password, populated from the specified value or the specified property of the bean associated with our current form. This tag is only valid when nested inside a form tag body.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | Maximum number of input characters to accept. [No limit] | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
onselect | JavaScript event handler executed when a when a user selects some text in a text field. Since: Struts 1.3.10 | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
readonly | Set to `true` if this input field should be read only. | boolean
redisplay | Boolean flag indicating whether or not existing values will be redisplayed if they exist. Even though the redisplayed value will be shown as asterisks on the visible HTML page, the cleartext of the actual password value will be visible though the "Show Page Source" menu option of the client browser. You may wish to set this value to `false` on login pages. Defaults to `true` for consistency with all other form tags that redisplay their contents. | boolean
size | Number of character positions to allocate. [Browser default] | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value of the label to be placed on this button. This value will also be submitted as the value of the specified request parameter. [Body of this tag (if any)] | String

### <html:radio>

Render A Radio Button Input Field

Renders an HTML <input> element of type radio, populated from the specified property of the bean associated with our current form. This tag is only valid when nested inside a form tag body.

If an iterator is used to render a series of radio tags, the idName attribute may be used to specify the name of the bean exposed by the iterator. In this case, the value attribute is used as the name of a property on the idName bean that returns the value of the radio tag in this iteration.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
idName | Name of the bean (in some scope) that will return the value of the radio tag. Usually exposed by an iterator. When the idName attribute is present, the value attribute is used as the name of the property on the idName bean that will return the value of the radio tag for this iteration. Since: Struts 1.1 | String
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | The corresponding bean property for this radio tag. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value* | The value of the radio tag. | String

### <html:reset>

Render A Reset Button Input Field

Renders an HTML <input> element of type reset.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property | Name of the input field that will be generated. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value of the label to be placed on this button. [Body of this tag (if any), or "Reset"] | String

### <html:rewrite>

Render an URI

Renders a request URI based on exactly the same rules as the `<html:link>` tag does, but without creating the `<a>` hyperlink. This value is useful when you want to generate a string constant for use by a JavaScript procedure.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
action | Logical name of a `Action` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. Additionally, you can specify a `module` prefix for linking to other modules. Since: Struts 1.2.0 | String
anchor | Optional anchor tag ("#xxx") to be added to the generated hyperlink. Specify this value without any "#" character. | String
forward | Logical name of a global `ActionForward` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
href | The URL to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
module | Prefix name of a `Module` that contains the action mapping for the `Action` that is specified by the `action` attribute. You must specify an `action` attribute for this to have an effect. Note: Use "" to map to the default module. | String
name | The name of a JSP bean that contains a `Map` representing the query parameters (if `property` is not specified), or a JSP bean whose property getter is called to return a `Map` (if `property` is specified). | String
page | The module-relative path (beginning with a "/" character) to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
paramId | The name of the request parameter that will be dynamically added to the generated hyperlink. The corresponding value is defined by the `paramName` and (optional) `paramProperty` attributes, optionally scoped by the `paramScope` attribute | String
paramName | The name of a JSP bean that is a String containing the value for the request parameter named by `paramId` (if `paramProperty` is not specified), or a JSP bean whose property getter is called to return a String (if `paramProperty` is specified). The JSP bean is constrained to the bean scope specified by the `paramScope` property, if it is specified. | String
paramProperty | The name of a property of the bean specified by the `paramName` attribute, whose return value must be a String containing the value of the request parameter (named by the `paramId` attribute) that will be dynamically added to this hyperlink. | String
paramScope | The scope within which to search for the bean specified by the `paramName` attribute. If not specified, all scopes are searched. | String
property | The name of a property of the bean specified by the `name` attribute, whose return value must be a `java.util.Map` containing the query parameters to be added to the hyperlink. You must specify the `name` attribute if you specify this attribute. | String
scope | The scope within which to search for the bean specified by the `name` attribute. If not specified, all scopes are searched. | String
transaction | If set to `true`, any current transaction control token will be included in the generated hyperlink, so that it will pass an `isTokenValid()` test in the receiving Action. | boolean
useLocalEncoding | If set to `true`, LocalCharacterEncoding will be used, that is, the characterEncoding set to the HttpServletResponse, as prefered character encoding rather than UTF-8, when URLEncoding is done on parameters of the URL. | boolean

### <html:select>

Render A Select Element

Renders an HTML <select> element, associated with a bean property specified by our attributes. This tag is only valid when nested inside a form tag body.

This tag operates in two modes, depending upon the state of the `multiple` attribute, which affects the data type of the associated property you should use:

- multiple="true" IS NOT selected - The corresponding property should be a scalar value of any supported data type.
- multiple="true" IS selected - The corresponding property should be an array of any supported data type.

WARNING: In order to correctly recognize cases where no selection at all is made, the `ActionForm` bean associated with this form must include a statement resetting the scalar property to a default value (if `multiple` is not set), or the array property to zero length (if `multiple` is set) in the `reset()` method.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
multiple | If set to any arbitrary value, the rendered select element will support multiple selections. | String
name | The attribute name of the bean whose properties are consulted to determine which option should be pre-selected when rendering this input field. If not specified, the bean associated with the enclosing `<html:form>` tag is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property* | Name of the request parameter that will be included with this submission, set to the specified value. | String
size | The number of available options displayed at one time. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | The value to compare with for marking an option selected. | String

### <html:submit>

Render A Submit Button

Renders an HTML <input> element of type `submit`.

If a graphical button is needed (a button with an image), then the `<html:image>` tag is more appropriate.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "propertyName[34]". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
property | Name of the request parameter that will be included with this submission, set to the specified value. | String
style | CSS styles to be applied to this HTML element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | The value of the button label. | String

### <html:text>

Render An Input Field of Type text

Render an input field of type text. This tag is only valid when nested inside a form tag body.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | Maximum number of input characters to accept. [No limit] | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
onselect | JavaScript event handler executed when a when a user selects some text in a text field. | String
property* | Name of this input field, and the name of the corresponding bean property if value is not specified. The corresponding bean property (if any) must be of type String. | String
readonly | Set to `true` if this input field should be read only. | boolean
size | Number of character positions to allocate. [Browser default] | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value to which this field should be initialized. [Use the corresponding bean property value] | String

### <html:textarea>

Render A Textarea

Render a textarea element. This tag is only valid when nested inside a form tag body.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | The keyboard character used to move focus immediately to this element. | String
alt | The alternate text for this element. | String
altKey | The message resources key of the alternate text for this element. | String
bundle | The servlet context attributes key for the MessageResources instance to use. If not specified, defaults to the application resources configured for our action servlet. Since: Struts 1.2.5 | String
cols | The number of columns to display. | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Set to `true` if this input field should be disabled. | boolean
errorKey | Name of the bean (in any scope) under which our error messages have been stored. If not present, the name specified by the `Globals.ERROR_KEY` constant string will be used. N.B. This is used in conjunction with the `errorStyle`, `errorStyleClass` and `errorStyleId` attributes and should be set to the same value as the `name` attribute on the <html:errors/> tag. Since: Struts 1.2.5 | String
errorStyle | CSS styles to be applied to this HTML element if an error exists for it. N.B. If present, this overrides the `style` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleClass | CSS stylesheet class to be applied to this HTML element if an error exists for it (renders a "class" attribute). N.B. If present, this overrides the `styleClass` attribute in the event of an error. Since: Struts 1.2.5 | String
errorStyleId | Identifier to be assigned to this HTML element if an error exists for it (renders an "id" attribute). N.B. If present, this overrides the `styleId` attribute in the event of an error. Since: Struts 1.2.5 | String
indexed | Valid only inside of logic:iterate tag. If `true` then name of the html tag will be rendered as "id[34].propertyName". Number in brackets will be generated for every iteration and taken from ancestor logic:iterate tag. | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. | String
onblur | JavaScript event handler executed when this element loses input focus. | String
onchange | JavaScript event handler executed when this element loses input focus and its value has changed. | String
onclick | JavaScript event handler executed when this element receives a mouse click. | String
ondblclick | JavaScript event handler executed when this element receives a mouse double click. | String
onfocus | JavaScript event handler executed when this element receives input focus. | String
onkeydown | JavaScript event handler executed when this element has focus and a key is depressed. | String
onkeypress | JavaScript event handler executed when this element has focus and a key is depressed and released. | String
onkeyup | JavaScript event handler executed when this element has focus and a key is released. | String
onmousedown | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is depressed. | String
onmousemove | JavaScript event handler executed when this element is under the mouse pointer and the pointer is moved. | String
onmouseout | JavaScript event handler executed when this element was under the mouse pointer but the pointer was moved outside the element. | String
onmouseover | JavaScript event handler executed when this element was not under the mouse pointer but the pointer is moved inside the element. | String
onmouseup | JavaScript event handler executed when this element is under the mouse pointer and a mouse button is released. | String
onselect | JavaScript event handler executed when a when a user selects some text in a text field. | String
property* | Name of this input field, and the name of the corresponding bean property if value is not specified. The corresponding bean property (if any) must be of type String. | String
readonly | Set to `true` if this input field should be read only. | boolean
rows | The number of rows to display. | String
style | CSS styles to be applied to this HTML element. N.B. If present, the `errorStyle` overrides this attribute in the event of an error for the element. | String
styleClass | CSS stylesheet class to be applied to this HTML element (renders a "class" attribute). N.B. If present, the `errorStyleClass` overrides this attribute in the event of an error for the element. | String
styleId | Identifier to be assigned to this HTML element (renders an "id" attribute). N.B. If present, the `errorStyleId` overrides this attribute in the event of an error for the element. | String
tabindex | The tab order (ascending positive integers) for this element. | String
title | The advisory title for this element. | String
titleKey | The message resources key for the advisory title for this element. | String
value | Value to which this field should be initialized. [Use the corresponding bean property value] | String

### <html:xhtml>

Render HTML tags as XHTML

Using this tag in a page tells all other html taglib tags to render themselves as XHTML 1.0. This is useful when composing pages with JSP includes or Tiles. <html:html xhtml="true"> has a similar effect. This tag has no attributes; you use it like this: <html:xhtml/>.

Note: Included pages do not inherit the rendering style of the including page. Each JSP fragment or Tile must use this tag to render as XHTML.

Can contain: empty

This tag has no attributes.

## logic

Note: Some of the features in this taglib are also available in the JavaServer Pages Standard Tag Library (JSTL). The Struts team encourages the use of the standard tags over the Struts specific tags when possible.

This tag library contains tags that are useful in managing conditional generation of output text, looping over object collections for repetitive generation of output text, and application flow management.

For tags that do value comparisons (`equal`, `greaterEqual`, `greaterThan`, `lessEqual`, `lessThan`, `notEqual`), the following rules apply:

- The specified value is examined. If it can be converted successfully to a `double` or a `long`, it is assumed that the ultimate comparison will be numeric (either floating point or integer). Otherwise, a String comparison will be performed.
- The variable to be compared to is retrieved, based on the selector attribute(s) (`cookie`, `header`, `name`, `parameter`, `property`) present on this tag. It will be converted to the appropriate type for the comparison, as determined above.
- If the specified variable or property returns null, it will be coerced to a zero-length string before the comparison occurs.
- The specific comparison for this tag will be performed, and the nested body content of this tag will be evaluated if the comparison returns a `true` result.

For tags that do substring matching (`match`, `notMatch`), the following rules apply:

- The specified variable is retrieved, based on the selector attribute(s) (`cookie`, `header`, `name`, `parameter`, `property`) present on this tag. The variable is converted to a String, if necessary.
- A request time exception will be thrown if the specified variable cannot be retrieved, or has a null value.
- The specified value is checked for existence as a substring of the variable, in the position specified by the `location` attribute, as follows: at the beginning (if location is set to `start`), at the end (if location is set to `end`), or anywhere (if location is not specified).

Many of the tags in this tag library will throw a `JspException` at runtime when they are utilized incorrectly (such as when you specify an invalid combination of tag attributes). JSP allows you to declare an "error page" in the `<%@ page %>` directive. If you wish to process the actual exception that caused the problem, it is passed to the error page as a request attribute under key `org.apache.struts.action.EXCEPTION`.

This is version 1.3.

- empty Evaluate the nested body content of this tag if the requested variable is either null or an empty string
- equal Evaluate the nested body content of this tag if the requested variable is equal to the specified value
- forward Forward control to the page specified by the specified ActionForward entry
- greaterEqual Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value
- greaterThan Evaluate the nested body content of this tag if the requested variable is greater than the specified value
- iterate Repeat the nested body content of this tag over a specified collection
- lessEqual Evaluate the nested body content of this tag if the requested variable is less than or equal to the specified value
- lessThan Evaluate the nested body content of this tag if the requested variable is less than the specified value
- match Evaluate the nested body content of this tag if the specified value is an appropriate substring of the requested variable
- messagesNotPresent Generate the nested body content of this tag if the specified message is not present in any scope
- messagesPresent Generate the nested body content of this tag if the specified message is present in any scope
- notEmpty Evaluate the nested body content of this tag if the requested variable is neither null, nor an empty string, nor an empty java
- notEqual Evaluate the nested body content of this tag if the requested variable is not equal to the specified value
- notMatch Evaluate the nested body content of this tag if the specified value is not an appropriate substring of the requested variable
- notPresent Generate the nested body content of this tag if the specified value is not present in this request
- present Generate the nested body content of this tag if the specified value is present in this request
- redirect Render an HTTP Redirect Performs an HttpServletResponse

Required attributes are marked with a *

### <logic:empty>

Evaluate the nested body content of this tag if the requested variable is either null or an empty string.

This tag evaluates its nested body content only if the specified value is either absent (i.e. `null`), an empty string (i.e. a `java.lang.String` with a length of zero), or an empty `java.util.Collection` or `java.util.Map` (tested by the .isEmpty() method on the respective interface).

JSTL: The equivalent JSTL tag is <c:if> using the `empty` operator. For example, `<c:if test="${empty sessionScope.myBean.myProperty}"> do something </c:if>`

Since: Struts 1.1

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String

### <logic:equal>

Evaluate the nested body content of this tag if the requested variable is equal to the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable and value are equal.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:forward>

Forward control to the page specified by the specified ActionForward entry.

Performs a `PageContext.forward()` or `HttpServletResponse.sendRedirect()` call for the global `ActionForward` entry for the specified name. URL rewriting will occur automatically if a redirect is performed.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
name* | The logical name of the global `ActionForward` entry that identifies the destination, and forwarding approach, to be used. Note: forwarding to Tiles definitions is not supported from this tag. You should forward to them from an Action subclass. | String

### <logic:greaterEqual>

Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable is greater than or equal to the value.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:greaterThan>

Evaluate the nested body content of this tag if the requested variable is greater than the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable is greater than the value.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:iterate>

Repeat the nested body content of this tag over a specified collection.

Repeats the nested body content of this tag once for every element of the specified collection, which must be an `Iterator`, a `Collection`, a `Map` (whose values are to be iterated over), or an array. The collection to be iterated over must be specified in one of the following ways:

- As a runtime expression specified as the value of the `collection` attribute.
- As a JSP bean specified by the `name` attribute.
- As the property, specified by the `property`, of the JSP bean specified by the `name` attribute.

The collection to be iterated over MUST conform to one of the following requirements in order for iteration to be successful:

- An array of Java objects or primitives.
- An implementation of `java.util.Collection`, including `ArrayList` and `Vector`.
- An implementation of `java.util.Enumeration`.
- An implementation of `java.util.Iterator`.
- An implementation of `java.util.Map`, including `HashMap`, `Hashtable`, and `TreeMap`. NOTE - See below for additional information about accessing Maps.

Normally, each object exposed by the iterate tag is an element of the underlying collection you are iterating over. However, if you iterate over a `Map`, the exposed object is of type `Map.Entry` that has two properties:

- `key` - The key under which this item is stored in the underlying Map.
- `value` - The value that corresponds to this key.

So, if you wish to iterate over the values of a Hashtable, you would implement code like the following:

`<logic:iterate id="element" name="myhashtable"> Next element is <bean:write name="element" property="value"/> </logic:iterate>`

If the collection you are iterating over can contain `null` values, the loop will still be performed but no page scope attribute (named by the `id` attribute) will be created for that loop iteration. You can use the `<logic:present>` and `<logic:notPresent>` tags to test for this case.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
collection | A runtime expression that evaluates to a collection (conforming to the requirements listed above) to be iterated over. | String
id* | The name of a page scope JSP bean that will contain the current element of the collection on each iteration, if it is not `null`. | String
indexId | The name of a page scope JSP bean that will contain the current index of the collection on each iteration. | String
length | The maximum number of entries (from the underlying collection) to be iterated through on this page. This can be either an integer that directly expresses the desired value, or the name of a JSP bean (in any scope) of type `java.lang.Integer` that defines the desired value. If not present, there will be no limit on the number of iterations performed. | String
name | The name of the JSP bean containing the collection to be iterated (if `property` is not specified), or the JSP bean whose property getter returns the collection to be iterated (if `property` is specified). | String
offset | The zero-relative index of the starting point at which entries from the underlying collection will be iterated through. This can be either an integer that directly expresses the desired value, or the name of a JSP bean (in any scope) of type `java.lang.Integer` that defines the desired value. If not present, zero is assumed (meaning that the collection will be iterated from the beginning. | String
property | Name of the property, of the JSP bean specified by `name`, whose getter returns the collection to be iterated. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
type | Fully qualified Java class name of the element to be exposed through the JSP bean named from the `id` attribute. If not present, no type conversions will be performed. NOTE: The actual elements of the collection must be assignment-compatible with this class, or a request time ClassCastException will occur. | String

### <logic:lessEqual>

Evaluate the nested body content of this tag if the requested variable is less than or equal to the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable is less than or equal to the value.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:lessThan>

Evaluate the nested body content of this tag if the requested variable is less than the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable is less than the value.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:match>

Evaluate the nested body content of this tag if the specified value is an appropriate substring of the requested variable.

Matches the variable specified by one of the selector attributes (as a String) against the specified constant value. If the value is a substring (appropriately limited by the `location` attribute), the nested body content of this tag is evaluated.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be matched is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be matched is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
location | If not specified, a match between the variable and the value may occur at any position within the variable string. If specified, the match must occur at the specified location (either `start` or `end`) of the variable string. | String
name | The variable to be matched is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be matched is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be matched is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value which is checked for existence as a substring of the specified variable. | String

### <logic:messagesNotPresent>

Generate the nested body content of this tag if the specified message is not present in any scope.

Evaluates the nested body content of this tag if an `ActionMessages` object, `ActionErrors` object, a String, or a String array is not present in any scope. If such a bean is found, nothing will be rendered.

Since: Struts 1.1

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
message | By default the tag will retrieve the bean it will iterate over from the `Globals.ERROR_KEY` constant string, but if this attribute is set to 'true' the bean will be retrieved from the `Globals.MESSAGE_KEY` constant string. Also if this is set to 'true', any value assigned to the name attribute will be ignored. | String
name | The parameter key used to retrieve the message from page, request, session or application scope. | String
property | Name of the property for which messages should be retrieved. If not specified, all messages (regardless of property) are retrieved. | String

### <logic:messagesPresent>

Generate the nested body content of this tag if the specified message is present in any scope.

Evaluates the nested body content of this tag if an `ActionMessages` object, `ActionErrors` object, a String, or a String array is present in any scope. If such a bean is not found, nothing will be rendered.

Since: Struts 1.1

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
message | By default the tag will retrieve the bean it will iterate over from the `Globals.ERROR_KEY` constant string, but if this attribute is set to 'true' the bean will be retrieved from the `Globals.MESSAGE_KEY` constant string. Also if this is set to 'true', any value assigned to the name attribute will be ignored. | String
name | The parameter key used to retrieve the message from page, request, session, or application scope. | String
property | Name of the property for which messages should be retrieved. If not specified, all messages (regardless of property) are retrieved. | String

### <logic:notEmpty>

Evaluate the nested body content of this tag if the requested variable is neither null, nor an empty string, nor an empty java.util.Collection (tested by the .isEmpty() method on the java.util.Collection interface).

This tag evaluates its nested body content only if the specified value is present (i.e. not `null`) and is not an empty string (i.e. a `java.lang.String` with a length of zero).

JSTL: The equivalent JSTL tag is <c:if> using the `! empty` operator. For example, `<c:if test="${ ! empty sessionScope.myBean.myProperty}"> do something </c:if>`

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String

### <logic:notEqual>

Evaluate the nested body content of this tag if the requested variable is not equal to the specified value.

Compares the variable specified by one of the selector attributes against the specified constant value. The nested body content of this tag is evaluated if the variable and value are not equal.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be compared is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be compared is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
name | The variable to be compared is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be compared is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be compared is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value to which the variable, specified by other attribute(s) of this tag, will be compared. | String

### <logic:notMatch>

Evaluate the nested body content of this tag if the specified value is not an appropriate substring of the requested variable.

Matches the variable specified by one of the selector attributes (as a String) against the specified constant value. If the value is not a substring (appropriately limited by the `location` attribute), the nested body content of this tag is evaluated.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | The variable to be matched is the value of the cookie whose name is specified by this attribute. | String
header | The variable to be matched is the value of the header whose name is specified by this attribute. The name match is performed in a case insensitive manner. | String
location | If not specified, a match between the variable and the value may occur at any position within the variable string. If specified, the match must occur at the specified location (either `start` or `end`) of the variable string. | String
name | The variable to be matched is the JSP bean specified by this attribute, if `property` is not specified, or the value of the specified property of this bean, if `property` is specified. | String
parameter | The variable to be matched is the first, or only, value of the request parameter specified by this attribute. | String
property | The variable to be matched is the property (of the bean specified by the `name` attribute) specified by this attribute. The property reference can be simple, nested, and/or indexed. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
value* | The constant value which is checked for existence as a substring of the specified variable. | String

### <logic:notPresent>

Generate the nested body content of this tag if the specified value is not present in this request.

Depending on which attribute is specified, this tag checks the current request, and evaluates the nested body content of this tag only if the specified value is not present. Only one of the attributes may be used in one occurrence of this tag, unless you use the `property` attribute, in which case the `name` attribute is also required.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | Checks for the existence of a cookie with the specified name. | String
header | Checks for the existence of an HTTP header with the specified name. The name match is performed in a case insensitive manner. | String
name | Checks for the existence of a JSP bean, in any scope, with the specified name. If `property` is also specified, checks for a non-null property value for the specified property. | String
parameter | Checks for the existence of at least one occurrence of the specified request parameter on this request, even if the parameter value is a zero-length string. | String
property | Checks for the existence of a non-null property value, returned by a property getter method on the JSP bean (in any scope) that is specified by the `name` attribute. Property references can be simple, nested, and/or indexed. | String
role | Checks whether the currently authenticated user (if any) has been associated with the specified security role. | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
user | Checks whether the currently authenticated user principal has the specified name. | String

### <logic:present>

Generate the nested body content of this tag if the specified value is present in this request.

Depending on which attribute is specified, this tag checks the current request, and evaluates the nested body content of this tag only if the specified value is present. Only one of the attributes may be used in one occurrence of this tag, unless you use the `property` attribute, in which case the `name` attribute is also required.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | Checks for the existence of a cookie with the specified name. | String
header | Checks for the existence of an HTTP header with the specified name. The name match is performed in a case insensitive manner. | String
name | Checks for the existence of a JSP bean, in any scope, with the specified name. If `property` is also specified, checks for a non-null property value for the specified property. | String
parameter | Checks for the existence of at least one occurrence of the specified request parameter on this request, even if the parameter value is a zero-length string. | String
property | Checks for the existence of a non-null property value, returned by a property getter method on the JSP bean (in any scope) that is specified by the `name` attribute. Property references can be simple, nested, and/or indexed. | String
role | Checks whether the currently authenticated user (if any) has been associated with any of the specified security roles. Use a comma-delimited list to check for multiple roles. Example: `<logic:present role="role1,role2,role3"> code..... </logic:present>` | String
scope | The bean scope within which to search for the bean named by the `name` property, or "any scope" if not specified. | String
user | Checks whether the currently authenticated user principal has the specified name. | String

### <logic:redirect>

Render an HTTP Redirect

Performs an `HttpServletResponse.sendRedirect()` call to the hyperlink specified by the attributes to this tag. URL rewriting will be applied automatically, to maintain session state in the absence of cookies.

The base URL for this redirect is calculated based on which of the following attributes you specify (you must specify exactly one of them):

- forward - Use the value of this attribute as the name of a global `ActionForward` to be looked up, and use the module-relative or context-relative URI found there.
- href - Use the value of this attribute unchanged.
- page - Use the value of this attribute as an module-relative URI, and generate a server-relative URI by including the context path.

Normally, the redirect you specify with one of the attributes described in the previous paragraph will be left unchanged (other than URL rewriting if necessary). However, there are two ways you can append one or more dynamically defined query parameters to the hyperlink -- specify a single parameter with the `paramId` attribute (and its associated attributes to select the value), or specify the `name` (and optional `property`) attributes to select a `java.util.Map` bean that contains one or more parameter ids and corresponding values.

To specify a single parameter, use the `paramId` attribute to define the name of the request parameter to be submitted. To specify the corresponding value, use one of the following approaches:

- Specify only the `paramName` attribute - The named JSP bean (optionally scoped by the value of the `paramScope` attribute) must identify a value that can be converted to a String.
- Specify both the `paramName` and `paramProperty` attributes - The specified property getter method will be called on the JSP bean identified by the `paramName` (and optional `paramScope`) attributes, in order to select a value that can be converted to a String.

If you prefer to specify a `java.util.Map` that contains all of the request parameters to be added to the hyperlink, use one of the following techniques:

- Specify only the `name` attribute - The named JSP bean (optionally scoped by the value of the `scope` attribute) must identify a `java.util.Map` containing the parameters.
- Specify both `name` and `property` attributes - The specified property getter method will be called on the bean identified by the `name` (and optional `scope`) attributes, in order to return the `java.util.Map` containing the parameters.

As the `Map` is processed, the keys are assumed to be the names of query parameters to be appended to the hyperlink. The value associated with each key must be either a String or a String array representing the parameter value(s). If a String array is specified, more than one value for the same query parameter name will be created.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
action | Logical name of a global `Action` that contains the actual content-relative URI of the destination of this transfer. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `action` attribute, the `forward` attribute, the `href` attribute, or the `page` attribute. | String
anchor | Optional anchor tag ("#xxx") to be added to the generated hyperlink. Specify this value without any "#" character. | String
forward | Logical name of a global `ActionForward` that contains the actual content-relative URI of the destination of this redirect. This URI may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
href | The URL to which this redirect will transfer control. This URL may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
name | The name of a JSP bean that contains a `Map` representing the query parameters (if `property` is not specified), or a JSP bean whose property getter is called to return a `Map` (if `property` is specified). | String
page | The context-relative path (beginning with a "/" character) to which this hyperlink will transfer control if activated. This hyperlink may be dynamically modified by the inclusion of query parameters, as described in the tag description. You must specify exactly one of the `forward` attribute, the `href` attribute, the `linkName` attribute, or the `page` attribute. | String
paramId | The name of the request parameter that will be dynamically added to the generated hyperlink. The corresponding value is defined by the `paramName` and (optional) `paramProperty` attributes, optionally scoped by the `paramScope` attribute | String
paramName | The name of a JSP bean that is a String containing the value for the request parameter named by `paramId` (if `paramProperty` is not specified), or a JSP bean whose property getter is called to return a String (if `paramProperty` is specified). The JSP bean is constrained to the bean scope specified by the `paramScope` property, if it is specified. | String
paramProperty | The name of a property of the bean specified by the `paramName` attribute, whose return value must be a String containing the value of the request parameter (named by the `paramId` attribute) that will be dynamically added to this hyperlink. | String
paramScope | The scope within which to search for the bean specified by the `paramName` attribute. If not specified, all scopes are searched. | String
property | The name of a property of the bean specified by the `name` attribute, whose return value must be a `java.util.Map` containing the query parameters to be added to the hyperlink. You must specify the `name` attribute if you specify this attribute. | String
scope | The scope within which to search for the bean specified by the `name` attribute. If not specified, all scopes are searched. | String
transaction | Set to `true` if you want the current transaction control token included in the generated URL for this redirect. | boolean
useLocalEncoding | If set to `true`, LocalCharacterEncoding will be used, that is, the characterEncoding set to the HttpServletResponse, as prefered character encoding rather than UTF-8, when URLEncoding is done on parameters of the URL. | boolean

## nested

[Since Struts 1.1]

This tag library brings a nested context to the functionality of the Struts custom tag library.

It's written in a layer that extends the current Struts tags, building on their logic and functionality. The layer enables the tags to be aware of the tags which surround them so they can correctly provide the nesting property reference to the Struts system.

It's all about nesting beans... A bean holds a reference to another bean internally, and all access to that bean is handled through the current bean. This act of having one bean's access go through another bean is known as "nesting beans". The first bean is known as the parent bean. The bean which it references, is known as a child bean. The terms "parent" and "child" are commonly used to describe the model's hierarchy.

A simple example... Take an object which represents a monkey. The monkey's job is to pick bunches of bananas. On each bunch picked hangs many bananas. If this case was translated to bean objects, the monkey object would have a reference to the bunch objects he picked, and each bunch object would hold a reference to the bananas hanging in the bunch.

To describe this... The monkey object is the parent to the bunch object, and the bunch object is a child of the monkey object. The bunch object is parent to its child banana objects, and the child banana objects children of the bunch object. The monkey is higher in the hierarchy than the bananas, and the bananas lower in the hierarchy to the bunches.

One special term to remember is for the most parent class, which is known as the "root" object which starts the hierarchy.

Nested tags are all about efficiently managing this style of hierarchy structure within your JSP markup.

Important Note: Nearly all these tags extend tags from other libraries to bring their functionality into the nested context. Nesting relies on the tags working against the one bean model, and managing the properties so that they become relative to the properties they are nested within. In doing so, the tags will set the "name" attribute internally (where applicable), and in many cases will rely on the "property" attribute being set so it can be updated internally to become nested. The original tags on occasion provide options that don't use the "name" and "property" attributes. These uses will then fall outside the nested context, and will most likely cause error. To take advantage of these options, markup using the original tag for these cases. For an example see the `<nested:options>` tag.

This is version 1.3.

- checkbox Nested Extension - Render A Checkbox Input Field This tag is an extension of the &lt;html:checkbox&gt; tag
- define Nested Extension - Define a scripting variable based on the value(s) of the specified bean property
- empty Nested Extension - Evaluate the nested body content of this tag if the requested variable is either null or an empty string
- equal Nested Extension - Evaluate the nested body content of this tag if the requested variable is equal to the specified value
- errors Nested Extension - Conditionally display a set of accumulated error messages
- file Nested Extension - Render A File Select Input Field This tag is an extension of the &lt;html:file&gt; tag
- form Nested Extension - Define An Input Form This tag is an extension of the &lt;html:form&gt; tag
- greaterEqual Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value
- greaterThan Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than the specified value
- hidden Nested Extension - Render A Hidden Field This tag is an extension of the &lt;html:hidden&gt; tag
- image Nested Extension - Render an input tag of type "image" This tag is an extension of the &lt;html:image&gt; tag
- img Nested Extension - Render an HTML "img" tag This tag is an extension of the &lt;html:img&gt; tag
- iterate Nested Extension - Repeat the nested body content of this tag over a specified collection
- lessEqual Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value
- lessThan Nested Extension - Evaluate the nested body content of this tag if the requested variable is less than the specified value
- link Nested Extension - Render an HTML anchor or hyperlink This tag is an extension of the &lt;html:link&gt; tag
- match Nested Extension - Evaluate the nested body content of this tag if the specified value is an appropriate substring of the requested variable
- message Nested Extension - Render an internationalized message string to the response
- messages Nested Extension - Conditionally display a set of accumulated messages
- messagesNotPresent Nested Extension - Generate the nested body content of this tag if the specified message is not present in this request
- messagesPresent Nested Extension - Generate the nested body content of this tag if the specified message is present in this request
- multibox Nested Extension - Render A Checkbox Input Field This tag is an extension of the &lt;html:multibox&gt; tag
- nest Defines a new level of nesting for child tags to reference to This tag provides a simple method of defining a logical nesting level in the nested hierarchy
- notEmpty Nested Extension - Evaluate the nested body content of this tag if the requested variable is neither null nor an empty string
- notEqual Nested Extension - Evaluate the nested body content of this tag if the requested variable is not equal to the specified value
- notMatch Nested Extension - Evaluate the nested body content of this tag if the specified value is not an appropriate substring of the requested variable
- notPresent Nested Extension - Generate the nested body content of this tag if the specified value is not present in this request
- options Nested Extension - Render a Collection of Select Options This tag is an extension of the &lt;html:options&gt; tag
- optionsCollection Nested Extension - Render a Collection of Select Options This tag is an extension of the &lt;html:optionsCollection&gt; tag
- password Nested Extension - Render A Password Input Field This tag is an extension of the &lt;html:password&gt; tag
- present Nested Extension - Generate the nested body content of this tag if the specified value is present in this request
- radio Nested Extension - Render A Radio Button Input Field This tag is an extension of the &lt;html:radio&gt; tag
- root To start off a nested hierarchy without the need for a form This tag is provided to allow the nested tags to find a common bean reference without the need for a form and its relative overhead
- select Nested Extension - Render A Select Element This tag is an extension of the &lt;html:select&gt; tag
- size Nested Extension - Define a bean containing the number of elements in a Collection or Map
- submit Nested Extension - Render A Submit Button This tag is an extension of the &lt;html:submit&gt; tag
- text Nested Extension - Render An Input Field of Type text This tag is an extension of the &lt;html:text&gt; tag
- textarea Nested Extension - Render A Textarea This tag is an extension of the &lt;html:textarea&gt; tag
- write Nested Extension - Render the value of the specified bean property to the current JspWriter
- writeNesting Writes or makes a scripting variable of the current nesting level

Required attributes are marked with a *

### <nested:checkbox>

Nested Extension - Render A Checkbox Input Field

This tag is an extension of the `<html:checkbox>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
property* | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:define>

Nested Extension - Define a scripting variable based on the value(s) of the specified bean property.

This tag is an extension of the `<bean:define>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
id* | null | String
name | null | String
property | null | String
scope | null | String
toScope | null | String
type | null | String
value | null | String

### <nested:empty>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is either null or an empty string.

This tag is an extension of the `<logic:empty>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
name | null | String
property | null | String
scope | null | String

### <nested:equal>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is equal to the specified value.

This tag is an extension of the `<logic:equal>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:errors>

Nested Extension - Conditionally display a set of accumulated error messages.

This tag is an extension of the `<html:errors>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | null | String
footer | Since: Struts 1.2.5 | String
header | Since: Struts 1.2.5 | String
locale | null | String
name | null | String
prefix | Since: Struts 1.2.5 | String
property | null | String
suffix | Since: Struts 1.2.5 | String

### <nested:file>

Nested Extension - Render A File Select Input Field

This tag is an extension of the `<html:file>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accept | null | String
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | null | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
property* | null | String
size | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:form>

Nested Extension - Define An Input Form

This tag is an extension of the `<html:form>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
acceptCharset | null | String
action* | null | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | Since: Struts 1.2.7 | boolean
enctype | null | String
focus | null | String
focusIndex | null | String
lang | The language code for this element. Since: Struts 1.3.6 | String
method | null | String
onreset | null | String
onsubmit | null | String
readonly | Since: Struts 1.2.7 | boolean
scriptLanguage | null | boolean
style | null | String
styleClass | null | String
styleId | null | String
target | null | String

### <nested:greaterEqual>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value.

This tag is an extension of the `<logic:greaterEqual>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:greaterThan>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than the specified value.

This tag is an extension of the `<logic:greaterThan>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:hidden>

Nested Extension - Render A Hidden Field

This tag is an extension of the `<html:hidden>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
alt | null | String
altKey | null | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | null | String
property* | null | String
styleClass | null | String
styleId | null | String
title | null | String
titleKey | null | String
value | null | String
write | null | boolean

### <nested:image>

Nested Extension - Render an input tag of type "image"

This tag is an extension of the `<html:image>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
align | null | String
alt | null | String
altKey | null | String
border | null | String
bundle | null | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
locale | null | String
module | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
page | null | String
pageKey | null | String
property | null | String
src | null | String
srcKey | null | String
style | null | String
styleClass | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:img>

Nested Extension - Render an HTML "img" tag

This tag is an extension of the `<html:img>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
action | null | String
align | null | String
alt | null | String
altKey | null | String
border | null | String
bundle | null | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
height | null | String
hspace | null | String
imageName | null | String
ismap | null | String
lang | The language code for this element. Since: Struts 1.3.6 | String
locale | null | String
module | null | String
name | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
page | null | String
pageKey | null | String
paramId | null | String
paramName | null | String
paramProperty | null | String
paramScope | null | String
property | null | String
scope | null | String
src | null | String
srcKey | null | String
style | null | String
styleClass | null | String
styleId | null | String
title | null | String
titleKey | null | String
useLocalEncoding | null | boolean
usemap | null | String
vspace | null | String
width | null | String

### <nested:iterate>

Nested Extension - Repeat the nested body content of this tag over a specified collection.

This tag is an extension of the `<logic:iterate>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
collection | null | String
id | null | String
indexId | null | String
length | null | String
name | null | String
offset | null | String
property | null | String
scope | null | String
type | null | String

### <nested:lessEqual>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is greater than or equal to the specified value.

This tag is an extension of the `<logic:lessEqual>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:lessThan>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is less than the specified value.

This tag is an extension of the `<logic:lessThan>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:link>

Nested Extension - Render an HTML anchor or hyperlink

This tag is an extension of the `<html:link>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
action | null | String
anchor | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
forward | null | String
href | null | String
indexId | null | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
linkName | null | String
module | null | String
name | null | String
onblur | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
page | null | String
paramId | null | String
paramName | null | String
paramProperty | null | String
paramScope | null | String
property | null | String
scope | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
target | null | String
title | null | String
titleKey | null | String
transaction | null | boolean
useLocalEncoding | null | boolean

### <nested:match>

Nested Extension - Evaluate the nested body content of this tag if the specified value is an appropriate substring of the requested variable.

This tag is an extension of the `<logic:match>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
location | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:message>

Nested Extension - Render an internationalized message string to the response.

This tag is an extension of the `<bean:message>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
arg0 | null | String
arg1 | null | String
arg2 | null | String
arg3 | null | String
arg4 | null | String
bundle | null | String
key | null | String
locale | null | String
name | null | String
property | null | String
scope | null | String

### <nested:messages>

Nested Extension - Conditionally display a set of accumulated messages.

This tag is an extension of the `<html:messages>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | null | String
footer | null | String
header | null | String
id* | null | String
locale | null | String
message | null | String
name | null | String
property | null | String

### <nested:messagesNotPresent>

Nested Extension - Generate the nested body content of this tag if the specified message is not present in this request.

This tag is an extension of the `<logic:messagesNotPresent>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
message | null | String
name | null | String
property | null | String

### <nested:messagesPresent>

Nested Extension - Generate the nested body content of this tag if the specified message is present in this request.

This tag is an extension of the `<logic:messagesPresent>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
message | null | String
name | null | String
property | null | String

### <nested:multibox>

Nested Extension - Render A Checkbox Input Field

This tag is an extension of the `<html:multibox>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
property* | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:nest>

Defines a new level of nesting for child tags to reference to

This tag provides a simple method of defining a logical nesting level in the nested hierarchy. It run no explicit logic, is simply a place holder. It also means you can remove the need for explicit setting of level properties in child tags.

Just as the iterate tag provide a parent to other tags, this does the same but there is no logic for iterating or otherwise.

Example...

    <nested:write property="myNestedLevel.propertyOne" />
    <nested:write property="myNestedLevel.propertyTwo" />
    <nested:write property="myNestedLevel.propertyThree" />

Can instead become...

    <nested:nest property="myNestedLevel" >
      <nested:write property="propertyOne" />
      <nested:write property="propertyTwo" />
      <nested:write property="propertyThree" />
    </nested:nest >

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
property | This specifies the property by which this tag and all child tags will be relative to. | String

### <nested:notEmpty>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is neither null nor an empty string.

This tag is an extension of the `<logic:notEmpty>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
name | null | String
property | null | String
scope | null | String

### <nested:notEqual>

Nested Extension - Evaluate the nested body content of this tag if the requested variable is not equal to the specified value.

This tag is an extension of the `<logic:notEqual>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:notMatch>

Nested Extension - Evaluate the nested body content of this tag if the specified value is not an appropriate substring of the requested variable.

This tag is an extension of the `<logic:notMatch>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
location | null | String
name | null | String
parameter | null | String
property | null | String
scope | null | String
value* | null | String

### <nested:notPresent>

Nested Extension - Generate the nested body content of this tag if the specified value is not present in this request.

This tag is an extension of the `<logic:notPresent>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
role | null | String
scope | null | String
user | null | String

### <nested:options>

Nested Extension - Render a Collection of Select Options

This tag is an extension of the `<html:options>` tag. Please consult its documentation for information on tag attributes and usage details.

Note: The nested context of this tag relies on the use of the "property" property, and the internal use of the "name" property. The nested tags rely on these properties and will attempt to set them itself. The `<html:options>` tag this tag extended allows other options for the tag which don't use these properties. To take advantage of these options, markup using the `<html:options>` tag instead of the nested tag.

For example, the "collections" option allows you to specify a separate bean reference which itself is a list of objects with properties to access the title and value parts of the html option tag. You can use this in a nested context (the list is a property of a nested bean) by using the nested define tag and the original options tag.

    <nested:nest property="myNestedLevel" />
      <nested:define property="collectionList" />
      <html:options collection="collectionList"
                      property="valueProperty"
                 labelProperty="labelProperty" />
    </nested:nest >

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
collection | null | String
filter | null | boolean
labelName | null | String
labelProperty | null | String
name | null | String
property | null | String
style | null | String
styleClass | null | String

### <nested:optionsCollection>

Nested Extension - Render a Collection of Select Options

This tag is an extension of the `<html:optionsCollection>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
filter | null | boolean
label | null | String
name | null | String
property* | null | String
style | null | String
styleClass | null | String
value | null | String

### <nested:password>

Nested Extension - Render A Password Input Field

This tag is an extension of the `<html:password>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | null | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
onselect | null | String
property* | null | String
readonly | null | boolean
redisplay | null | boolean
size | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:present>

Nested Extension - Generate the nested body content of this tag if the specified value is present in this request.

This tag is an extension of the `<logic:present>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
cookie | null | String
header | null | String
name | null | String
parameter | null | String
property | null | String
role | null | String
scope | null | String
user | null | String

### <nested:radio>

Nested Extension - Render A Radio Button Input Field

This tag is an extension of the `<html:radio>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
idName | null | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
property* | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value* | null | String

### <nested:root>

To start off a nested hierarchy without the need for a form

This tag is provided to allow the nested tags to find a common bean reference without the need for a form and its relative overhead. As long as the `name` attribute of this tag matches the name of a bean in scope of the JSP (ie: Struts tags can find it via usual means). For example you can load a bean for use with the `jsp:useBean` tag.

The tag can also be used without specifying the `name` attribute, but this is only in the case that the current JSP is a dynamic include specified in another file. You will not be able to run the tag without a name unless this inclusion is in place. Otherwise the nested tags will not have the bean and property references that they need to provide their logic.

Note: The access to a bean via the `name` attribute takes priority over looking for the reference from other parent tags. So if a name is specified, a bean will have to be there waiting for it. It was made this way so that you could use separate beans within a JSP that itself is an inclusion into another.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
name | The name of the bean by which all child nested tags will derive their bean reference from. | String

### <nested:select>

Nested Extension - Render A Select Element

This tag is an extension of the `<html:select>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
multiple | null | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
property* | null | String
size | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:size>

Nested Extension - Define a bean containing the number of elements in a Collection or Map.

This tag is an extension of the `<bean:size>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
collection | null | String
id* | null | String
name | null | String
property | null | String
scope | null | String

### <nested:submit>

Nested Extension - Render A Submit Button

This tag is an extension of the `<html:submit>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
property | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:text>

Nested Extension - Render An Input Field of Type text

This tag is an extension of the `<html:text>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
maxlength | null | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
onselect | null | String
property* | null | String
readonly | null | boolean
size | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:textarea>

Nested Extension - Render A Textarea

This tag is an extension of the `<html:textarea>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain:

#### Attributes

Name | Description | Type
--- | --- | ---
accesskey | null | String
alt | null | String
altKey | null | String
bundle | Since: Struts 1.2.7 | String
cols | null | String
dir | The direction for weak/neutral text for this element. Since: Struts 1.3.6 | String
disabled | null | boolean
errorKey | Since: Struts 1.2.5 | String
errorStyle | Since: Struts 1.2.5 | String
errorStyleClass | Since: Struts 1.2.5 | String
errorStyleId | Since: Struts 1.2.5 | String
indexed | null | boolean
lang | The language code for this element. Since: Struts 1.3.6 | String
name | null | String
onblur | null | String
onchange | null | String
onclick | null | String
ondblclick | null | String
onfocus | null | String
onkeydown | null | String
onkeypress | null | String
onkeyup | null | String
onmousedown | null | String
onmousemove | null | String
onmouseout | null | String
onmouseover | null | String
onmouseup | null | String
onselect | null | String
property* | null | String
readonly | null | boolean
rows | null | String
style | null | String
styleClass | null | String
styleId | null | String
tabindex | null | String
title | null | String
titleKey | null | String
value | null | String

### <nested:write>

Nested Extension - Render the value of the specified bean property to the current JspWriter.

This tag is an extension of the `<bean:write>` tag. Please consult its documentation for information on tag attributes and usage details.

Can contain: empty

#### Attributes

Name | Description | Type
--- | --- | ---
bundle | null | String
filter | null | boolean
format | null | String
formatKey | null | String
ignore | null | boolean
locale | null | String
name | null | String
property | null | String
scope | null | String

### <nested:writeNesting>

Writes or makes a scripting variable of the current nesting level.

This tag provides a way of accessing the nested property reference used by the nested tags. Can expose a scripting variable, or simply write out the value.

Can contain: JSP

#### Attributes

Name | Description | Type
--- | --- | ---
filter | true/false value, describing to the tag if the result if to be URLEncoded. Helps JavaScript along if the result is required for URL hacking. | boolean
id | If id is supplied, then what would have been written out into the response stream, will instead be made available as a String object defined by the variable name provided. | String
property | If not supplied, will simply write out as if "./" or "this/" was supplied. | String