Tag reference sheet

Tag library reference for the following tag libraries:

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