blob: fcc1b7973aa6520c99dc701887daf8af875baf10 [file] [log] [blame]
<?xml version="1.0"?>
<document url="struts-html.html" authors="false">
<properties>
<author>Craig R. McClanahan</author>
<author>Martin Cooper</author>
<author>Mike Schachter</author>
<author>James Turner</author>
<author>David Graham</author>
<title>The Struts Framework Project - HTML Tags</title>
</properties>
<body>
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>html</shortname>
<display-name>Page Construction Tags</display-name>
<uri>http://struts.apache.org/tags-html</uri>
<info>
<p>
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.
</p>
<p>Many of the tags in this tag library will throw a
<code>JspException</code> 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 <code>&lt;%@ page %&gt;</code>
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
<code>org.apache.struts.action.EXCEPTION</code>.</p>
</info>
<tag>
<name>base</name>
<summary>Render an HTML &lt;base&gt; Element</summary>
<tagclass>org.apache.struts.taglib.html.BaseTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
<p>Renders an HTML <code>&lt;base&gt;</code> element with an
<code>href</code> attribute pointing to the absolute location of
the enclosing JSP page. This tag is valid only when nested inside
an HTML <code>&lt;head&gt;</code> element.</p>
<p>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).</p>
</info>
<attribute>
<name>target</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The window target for this base reference.</p>
</info>
</attribute>
<attribute>
<name>server</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The server name to use instead of request.getServerName().</p>
</info>
</attribute>
</tag>
<tag>
<name>button</name>
<summary>
Render A Button Input Field
</summary>
<tagclass>org.apache.struts.taglib.html.ButtonTag</tagclass>
<info>
<p>
Renders an HTML &lt;input&gt; element of type
<code>button</code>, populated from the specified value or the
content of this tag body. This tag is only valid when nested
inside a form tag body.
</p>
<p>
If a graphical button is needed (a button with an image), then the
<a href="#image"><code>image</code></a> tag is more appropriate.
</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The keyboard character used to move focus immediately to this
element.
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this element.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>indexed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Valid only inside of <code>logic:iterate</code> tag.
If <code>true</code> 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.
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the request parameter that will be included with this
submission, set to the specified value.
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS styles to be applied to this HTML element.
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>tabindex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The tab order (ascending positive integers) for this element.
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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"]
</info>
</attribute>
</tag>
<tag>
<name>cancel</name>
<summary>
Render a Cancel Button
</summary>
<tagclass>org.apache.struts.taglib.html.CancelTag</tagclass>
<info>
<p>
Renders an HTML &lt;input&gt; 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.
</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The keyboard character used to move focus immediately to this
element.
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this element.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the request parameter that will be included with this
submission, set to the specified value.
<strong>WARNING</strong> - If you set this attribute to a
value other than the default, this will <em>NOT</em> be
recognized as the cancel key by the Struts controller servlet
or the <code>Action.isCancelled()</code> method. You will
need to do your own cancel detection.
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS styles to be applied to this HTML element.
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>tabindex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The tab order (ascending positive integers) for this element.
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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"]
</info>
</attribute>
</tag>
<tag>
<name>checkbox</name>
<summary>
Render A Checkbox Input Field
</summary>
<tagclass>org.apache.struts.taglib.html.CheckboxTag</tagclass>
<info>
<p>Renders an HTML &lt;input&gt; element of type
<code>checkbox</code>, 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.</p>
<p><strong>NOTE</strong>: The underlying property value
associated with this field should be of type <code>boolean</code>,
and any <code>value</code> 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 <code>multibox</code> tag.</p>
<p><strong>WARNING</strong>: In order to correctly
recognize unchecked checkboxes, the
<code>ActionForm</code> bean associated with this form
must include a statement setting the corresponding
boolean property to <code>false</code> in the
<code>reset()</code> method.</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The keyboard character used to move focus immediately to this
element.
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this element.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>errorKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Name of the request scope bean under which our error messages
have been stored. If not present, the name specified by the
<code>Globals.ERROR_KEY</code> constant string will be used.</p>
<p><strong>N.B.</strong> This is used in conjunction with the
<code>errorStyle</code>, <code>errorStyleClass</code> and
<code>errorStyleId</code> attributes and should be set to
the same value as the <code>name</code> attribute on the
&lt;html:errors/&gt; tag.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this HTML element if
an error exists for it.</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>style</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS stylesheet class to be applied to this HTML element if
an error exists for it (renders a "class" attribute).</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>styleClass</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Identifier to be assigned to this HTML element if
an error exists for it (renders an "id" attribute).</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>styleId</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>indexed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Valid only inside of <code>logic:iterate</code> tag.
If <code>true</code> 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.
</info>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the request parameter that will be included with this
submission, set to the specified value.
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this HTML element.</p>
<p><strong>N.B.</strong> If present, the <code>errorStyle</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).</p>
<p><strong>N.B.</strong> If present, the <code>errorStyleClass</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Identifier to be assigned to this HTML element (renders
an "id" attribute).</p>
<p><strong>N.B.</strong> If present, the <code>errorStyleId</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>tabindex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The tab order (ascending positive integers) for this element.
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The value to be transmitted if this checkbox is
checked when the form is submitted. If not specified,
the value "on" will be returned.
</info>
</attribute>
</tag>
<tag>
<name>errors</name>
<summary>
Conditionally display a set of accumulated error messages.
</summary>
<tagclass>org.apache.struts.taglib.html.ErrorsTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
<p>Displays a set of error messages prepared by a business
logic component and stored as an <code>ActionErrors</code>
object, a String, or a String array in request scope. If
such a bean is not found, nothing will be rendered.</p>
<p>In order to use this tag successfully, you must have
defined an application scope <code>MessageResources</code>
bean under the default attribute name, with optional
definitions of message keys specified in the following
attributes:</p>
<ul>
<li><strong>header</strong> - Text that will be rendered
before the error messages list. Typically, this message text
will end with <code>&lt;ul&gt;</code> to start the
error messages list (default "errors.header").</li>
<li><strong>footer</strong> - Text that will be rendered
after the error messages list. Typically, this message text
will begin with <code>&lt;/ul&gt;</code> to end the error
messages list (default "errors.footer").</li>
<li><strong>prefix</strong> - Text that will be rendered
before each individual error in the list (default "errors.prefix").</li>
<li><strong>suffix</strong> - Text that will be rendered
after each individual error in the list (default "errors.suffix").</li>
</ul>
</info>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attribute key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
</attribute>
<attribute>
<name>footer</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>header</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The session attribute key for the Locale used to select
messages to be displayed. If not specified, defaults to
the Struts standard value.
</info>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the request scope bean under which our error messages
have been stored. If not present, the name specified by the
<code>Globals.ERROR_KEY</code> constant string will be used.
</info>
</attribute>
<attribute>
<name>prefix</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
This value is an optional message resource key that will
be printed before an error message.
Defaults to "errors.prefix" if not specified.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the property for which error messages should be
displayed. If not specified, all error messages (regardless
of property) are displayed.
</info>
</attribute>
<attribute>
<name>suffix</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
This value is an optional message resource key that will
be printed after an error message.
Defaults to "errors.suffix" if not specified.
</info>
<since>Struts 1.2.5</since>
</attribute>
</tag>
<tag>
<name>file</name>
<summary>
Render A File Select Input Field
</summary>
<tagclass>org.apache.struts.taglib.html.FileTag</tagclass>
<info>
<p>
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. This tag is only valid when
nested inside a form tag body.
</p>
<p>
As with the corresponding HTML &lt;input&gt; element, the
enclosing form element must specify "POST" for the <code>method</code>
attribute, and "multipart/form-data" for the <code>enctype</code>
attribute. For example:
</p>
<pre>
&lt;html:form method="POST" enctype="multipart/form-data"&gt;
&lt;html:file property="theFile" /&gt;
&lt;/html:form&gt;</pre>
<p>
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.
</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The keyboard character used to move focus immediately to this
element.
</info>
</attribute>
<attribute>
<name>accept</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this element.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>errorKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Name of the request scope bean under which our error messages
have been stored. If not present, the name specified by the
<code>Globals.ERROR_KEY</code> constant string will be used.</p>
<p><strong>N.B.</strong> This is used in conjunction with the
<code>errorStyle</code>, <code>errorStyleClass</code> and
<code>errorStyleId</code> attributes and should be set to
the same value as the <code>name</code> attribute on the
&lt;html:errors/&gt; tag.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this HTML element if
an error exists for it.</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>style</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS stylesheet class to be applied to this HTML element if
an error exists for it (renders a "class" attribute).</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>styleClass</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>errorStyleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Identifier to be assigned to this HTML element if
an error exists for it (renders an "id" attribute).</p>
<p><strong>N.B.</strong> If present, this overrides the
<code>styleId</code> attribute in the event of an error.</p>
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>indexed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Valid only inside of <code>logic:iterate</code> tag.
If <code>true</code> 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.
</info>
</attribute>
<attribute>
<name>maxlength</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Maximum number of input characters to accept. This is ignored
by most browsers. [No limit]
</info>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<info>
Name of the request parameter that will be included with this
submission, set to the specified value.
</info>
</attribute>
<attribute>
<name>size</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Size of the file selection box to be displayed.
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this HTML element.</p>
<p><strong>N.B.</strong> If present, the <code>errorStyle</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).</p>
<p><strong>N.B.</strong> If present, the <code>errorStyleClass</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Identifier to be assigned to this HTML element (renders
an "id" attribute).</p>
<p><strong>N.B.</strong> If present, the <code>errorStyleId</code>
overrides this attribute in the event of an error for the element.</p>
</info>
</attribute>
<attribute>
<name>tabindex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The tab order (ascending positive integers) for this element.
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>
<strong>NOTE</strong>: 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.
</p>
Value to which this field should be initialized. [Use the
corresponding bean property value or body content (if any) if
property is not specified]
</info>
</attribute>
</tag>
<tag>
<name>form</name>
<summary>
Define An Input Form
</summary>
<tagclass>org.apache.struts.taglib.html.FormTag</tagclass>
<bodycontent>JSP</bodycontent>
<info>
<p>
Renders an HTML &lt;form&gt; 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.
</p>
<p>
The form bean is located, and created if necessary, based on the
form bean specification for the associated <code>ActionMapping</code>.
</p>
</info>
<attribute>
<name>action</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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.</p>
<p>If you are using extension mapping for selecting the
controller servlet, this value should be equal to the
<code>path</code> attribute of the corresponding
<code>&lt;action&gt;</code> element, optionally
followed by the correct extension suffix.</p>
<p>If you are using path mapping to select the
controller servlet, this value should be exactly equal
to the <code>path</code> attribute of the corresponding
<code>&lt;action&gt;</code> element.</p>
</info>
</attribute>
<attribute>
<name>acceptCharset</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The list of character encodings for input data that the server should
accept.
</info>
<since>Struts 1.2.2</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if the Form's input fields should be
disabled.
</info>
<since>Struts 1.2.7</since>
</attribute>
<attribute>
<name>enctype</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>focus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>focusIndex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
<since>Struts 1.1</since>
</attribute>
<attribute>
<name>method</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The HTTP method that will be used to submit this request
(GET, POST). [POST]
</info>
</attribute>
<attribute>
<name>onreset</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed if the form is reset.
</info>
</attribute>
<attribute>
<name>onsubmit</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed if the form is submitted.
</info>
</attribute>
<attribute>
<name>readonly</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if the Form's input fields should be
read only.
</info>
<since>Struts 1.2.7</since>
</attribute>
<attribute>
<name>scriptLanguage</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The form's focus &lt;script&gt; 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.
</info>
<since>Struts 1.2</since>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS styles to be applied to this HTML element.
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>target</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Window target to which this form is submitted, such as
for use in framed presentations.
</info>
</attribute>
</tag>
<tag>
<name>frame</name>
<summary>Render an HTML frame element</summary>
<tagclass>org.apache.struts.taglib.html.FrameTag</tagclass>
<info>
<p>Renders an HTML <code>&lt;frame&gt;</code> element
with processing for the <code>src</code> attribute that is
identical to that performed by the <code>&lt;html:link&gt;</code>
tag for the <code>href</code> attribute. URL rewriting will be
applied automatically, to maintain session state in the
absence of cookies.</p>
<p>The base URL for this frame is calculated based on
which of the following attributes you specify (you must
specify exactly one of them):</p>
<ul>
<li><em>forward</em> - Use the value of this attribute as the
name of a global <code>ActionForward</code> to be looked
up, and use the module-relative or context-relative
URI found there.</li>
<li><em>href</em> - Use the value of this attribute unchanged.
</li>
<li><em>page</em> - 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.</li>
<li><em>action</em> - 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.</li>
</ul>
<p>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 <code>paramId</code> attribute (and its
associated attributes to select the value), or specify the
<code>name</code> (and optional <code>property</code>)
attributes to select a <code>java.util.Map</code> bean that
contains one or more parameter ids and corresponding values.
</p>
<p>To specify a single parameter, use the <code>paramId</code>
attribute to define the name of the request parameter to be
submitted. To specify the corresponding value, use one of the
following approaches:</p>
<ul>
<li><em>Specify only the <code>paramName</code> attribute</em>
- The named JSP bean (optionally scoped by the value of the
<code>paramScope</code> attribute) must identify a value
that can be converted to a String.</li>
<li><em>Specify both the <code>paramName</code> and
<code>paramProperty</code> attributes</em> - The specified
property getter method will be called on the JSP bean
identified by the <code>paramName</code> (and optional
<code>paramScope</code>) attributes, in order to select
a value that can be converted to a String.</li>
</ul>
<p>If you prefer to specify a <code>java.util.Map</code> that
contains all of the request parameters to be added to the
hyperlink, use one of the following techniques:</p>
<ul>
<li><em>Specify only the <code>name</code> attribute</em> -
The named JSP bean (optionally scoped by the value of
the <code>scope</code> attribute) must identify a
<code>java.util.Map</code> containing the parameters.</li>
<li><em>Specify both <code>name</code> and
<code>property</code> attributes</em> - The specified
property getter method will be called on the bean
identified by the <code>name</code> (and optional
<code>scope</code>) attributes, in order to return the
<code>java.util.Map</code> containing the parameters.</li>
</ul>
<p>As the <code>Map</code> 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.</p>
<p>Additionally, you can request that the current transaction
control token, if any, be included in the generated hyperlink
by setting the <code>transaction</code> attribute to
<code>true</code>.
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 <code>anchor</code> attribute.</p>
</info>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>action</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Logical name of a global <code>Action</code> 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 <strong>must</strong> specify
exactly one of the <code>action</code> attribute, the
<code>forward</code> attribute, the
<code>href</code> attribute,
or the <code>page</code> attribute.</p>
<p>Additionally, you can specify a <code>module</code> prefix
for linking to other modules.</p>
</info>
</attribute>
<attribute>
<name>module</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Prefix name of a <code>Module</code> that
contains the action mapping for the <code>Action</code>
that is specified by the <code>action</code> attribute.
You <strong>must</strong> specify an <code>action</code>
attribute for this to have an effect.</p>
<p><strong>Note: </strong>Use "" to map to the default module.</p>
</info>
</attribute>
<attribute>
<name>anchor</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Optional anchor tag ("#xxx") to be added to the generated
hyperlink. Specify this value <strong>without</strong> any
"#" character.</p>
</info>
</attribute>
<attribute>
<name>forward</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Logical name of a global <code>ActionForward</code> 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 <strong>must</strong> specify
exactly one of the <code>action</code> attribute, the
<code>forward</code> attribute, the
<code>href</code> attribute,
or the <code>page</code> attribute.</p>
</info>
</attribute>
<attribute>
<name>frameborder</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Should a frame border be generated around this frame (1)
or not (0)?</p>
</info>
</attribute>
<attribute>
<name>frameName</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Value for the <code>name</code> attribute of the rendered
<code>&lt;frame&gt;</code> element.</p>
</info>
</attribute>
<attribute>
<name>href</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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 <strong>must</strong> specify
exactly one of the <code>action</code> attribute, the
<code>forward</code> attribute, the
<code>href</code> attribute,
or the <code>page</code> attribute.</p>
</info>
</attribute>
<attribute>
<name>longdesc</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>URI of a long description of the frame. This description
should supplement the short description provided by the
<code>title</code> attribute, and may be particularly useful
for non-visual user agents.</p>
</info>
</attribute>
<attribute>
<name>marginheight</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The amount of space (in pixels) to be left between the
frame's contents and its top and bottom margins.</p>
</info>
</attribute>
<attribute>
<name>marginwidth</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The amount of space (in pixels) to be left between the
frame's contents and its left and right margins.</p>
</info>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a JSP bean that contains a <code>Map</code>
representing the query parameters (if <code>property</code>
is not specified), or a JSP bean whose property getter is
called to return a <code>Map</code> (if <code>property</code>
is specified).</p>
</info>
</attribute>
<attribute>
<name>noresize</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Should users be disallowed from resizing the frame?
(true, false).</p>
</info>
</attribute>
<attribute>
<name>page</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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 <strong>must</strong> specify exactly
one of the <code>action</code> attribute, the
<code>forward</code> attribute, the
<code>href</code> attribute,
or the <code>page</code> attribute.</p>
</info>
</attribute>
<attribute>
<name>paramId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of the request parameter that will be dynamically
added to the generated hyperlink. The corresponding value is
defined by the <code>paramName</code> and (optional)
<code>paramProperty</code> attributes, optionally scoped by
the <code>paramScope</code> attribute</p>
</info>
</attribute>
<attribute>
<name>paramName</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a JSP bean that is a String containing the
value for the request parameter named by <code>paramId</code>
(if <code>paramProperty</code> is not specified), or a JSP
bean whose property getter is called to return a String
(if <code>paramProperty</code> is specified). The JSP bean
is constrained to the bean scope specified by the
<code>paramScope</code> property, if it is specified.</p>
</info>
</attribute>
<attribute>
<name>paramProperty</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a property of the bean specified by the
<code>paramName</code> attribute, whose return value must
be a String containing the value of the request parameter
(named by the <code>paramId</code> attribute) that will be
dynamically added to this hyperlink.</p>
</info>
</attribute>
<attribute>
<name>paramScope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The scope within which to search for the bean specified
by the <code>paramName</code> attribute. If not specified,
all scopes are searched.</p>
</info>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a property of the bean specified by the
<code>name</code> attribute, whose return value must be
a <code>java.util.Map</code> containing the query parameters
to be added to the hyperlink. You <strong>must</strong>
specify the <code>name</code> attribute if you specify
this attribute.</p>
</info>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The scope within which to search for the bean specified
by the <code>name</code> attribute. If not specified, all
scopes are searched.</p>
</info>
</attribute>
<attribute>
<name>scrolling</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Should scroll bars be created unconditionally (yes),
never (no), or only when needed (auto)?</p>
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this element.</p>
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>transaction</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>If set to <code>true</code>, any current transaction
control token will be included in the generated hyperlink,
so that it will pass an <code>isTokenValid()</code> test
in the receiving Action.</p>
</info>
</attribute>
</tag>
<tag>
<name>hidden</name>
<summary>
Render A Hidden Field
</summary>
<tagclass>org.apache.struts.taglib.html.HiddenTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
<p>
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. This tag is only valid when
nested inside a form tag body.
</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The keyboard character used to move focus immediately to this
element.
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this element.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The servlet context attributes key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.
</info>
<since>Struts 1.2.5</since>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>indexed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Valid only inside of <code>logic:iterate</code> tag.
If <code>true</code> 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.
</info>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus and a
key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS styles to be applied to this HTML element.
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Value to which this field should be initialized. [Use the
corresponding bean property value]
</info>
</attribute>
<attribute>
<name>write</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
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.
</info>
</attribute>
</tag>
<tag>
<name>html</name>
<summary>Render an HTML &lt;html&gt; Element</summary>
<tagclass>org.apache.struts.taglib.html.HtmlTag</tagclass>
<bodycontent>JSP</bodycontent>
<info>
<p>Renders an HTML <code>&lt;html&gt;</code> element with
language attributes extracted from the user's current Locale
object, if there is one.</p>
</info>
<attribute>
<name>lang</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Renders a lang attribute with the locale stored in the user's session. If not
found in the session, the language from the <code>Accept-Language</code>
HTTP header is used. If still not found, the default language for the server
is used.
</info>
<since>Struts 1.2</since>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Set to <code>true</code> in order to store a Locale in the session based on
the current request's <code>Accept-Language</code> header (if
any) if none has currently been set. This attribute will create a session
if one does not already exist. The lang attribute is rendered with the
appropriate language code.</p>
</info>
<deprecated>
Creating a session is undesirable for apps that don't support them. Use the lang
attribute to achieve the same functionality without creating a session.
</deprecated>
</attribute>
<attribute>
<name>xhtml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Set to <code>true</code> in order to render
<code>xml:lang</code> and <code>xmlns</code> attributes
on the generated <code>html</code> element. This also
causes all other html tags to render as XHTML 1.0 (the
&lt;html:xhtml/&gt; tag has a similar purpose).
</p>
</info>
<since>Struts 1.1</since>
</attribute>
</tag>
<tag>
<name>image</name>
<summary>
Render an input tag of type "image"
</summary>
<tagclass>org.apache.struts.taglib.html.ImageTag</tagclass>
<info>
<p>Renders an HTML <code>&lt;input&gt;</code> tag of type
"image". The base URL for this image is calculated directly
based on the value specified in the <code>src</code> or
<code>page</code> attributes, or indirectly by looking up a
message resource string based on the <code>srcKey</code> or
<code>pageKey</code> attributes. You <strong>must</strong>
specify exactly one of these attributes.</p>
<p>If you would like to obtain the coordinates of the mouse
click that submitted this request, see the information below
on the <code>property</code> attribute.</p>
<p>This tag is only valid when nested inside a form tag body.</p>
</info>
<attribute>
<name>accesskey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The keyboard character used to move focus immediately
to this element.</p>
</info>
</attribute>
<attribute>
<name>align</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alignment option for this image.</p>
</info>
<deprecated>
The align attribute is deprecated in HTML 4.x. The suggested alternative is to use CSS.
Please see http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.7.4 for more details.
</deprecated>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The alternate text for this image.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
image.</p>
</info>
</attribute>
<attribute>
<name>border</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The width (in pixels) of the border around this image.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The servlet context attribute key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.</p>
</info>
</attribute>
<attribute>
<name>disabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Set to <code>true</code> if this input field should be
disabled.
</info>
</attribute>
<attribute>
<name>indexed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Valid only inside of logic:iterate tag. If <code>true</code>
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.
</info>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The session attribute key for the Locale used to select
internationalized messages. If not specified, defaults to the
Struts standard value.</p>
</info>
</attribute>
<attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus.
</info>
</attribute>
<attribute>
<name>onchange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element loses input
focus and its value has changed.
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onfocus</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives input
focus.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus
and a key is depressed.
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus
and a key is depressed and released.
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element has focus
and a key is released.
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under
the mouse pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under
the mouse pointer but the pointer was moved outside the
element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not
under the mouse pointer but the pointer is moved inside the
element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>page</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The module-relative path of the image for this
input tag.</p>
</info>
</attribute>
<attribute>
<name>pageKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The key of the message resources string specifying the
module-relative path of the image for this input tag.</p>
</info>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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="").</p>
</info>
</attribute>
<attribute>
<name>src</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The source URL of the image for this input tag.</p>
</info>
</attribute>
<attribute>
<name>srcKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The key of the message resources string specifying the
source URL of the image for this input tag.</p>
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS styles to be applied to this HTML element.
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>tabindex</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
The tab order (ascending positive integers) for this element.
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The value that will be submitted if this image button
is pressed.</p>
</info>
</attribute>
</tag>
<tag>
<name>img</name>
<summary>Render an HTML img tag</summary>
<tagclass>org.apache.struts.taglib.html.ImgTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
<p>Renders an HTML <code>&lt;img&gt;</code> element with
the image at the specified URL. Like the link tag, URL
rewriting will be applied automatically to the value
specified in <code>src</code>, <code>page</code>, or
<code>action</code> 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.</p>
<p>The base URL for this image is calculated directly based on
the value specified in <code>src</code>, <code>page</code>, or
<code>action</code> or <code>page</code>,
or indirectly by looking up a message resource string based on
the <code>srcKey</code> or <code>pageKey</code> attributes.
You <strong>must</strong> specify exactly one of these
attributes.</p>
<p>Normally, the <code>src</code>, <code>page</code>, or
<code>action</code> 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 <code>src</code> URL --
specify a single parameter with the <code>paramId</code>
attribute (at its associated attributes to select the value),
or specify the <code>name</code> (and optional
<code>property</code>) attributes to select a
<code>java.util.Map</code> bean that contains one or more
parameter ids and corresponding values.</p>
<p>To specify a single parameter, use the <code>paramId</code>
attribute to define the name of the request parameter to be
submitted. To specify the corresponding value, use one of the
following approaches:</p>
<ul>
<li><em>Specify only the <code>paramName</code> attribute</em>
- The named JSP bean (optionally scoped by the value of the
<code>paramScope</code> attribute) must identify a value
that can be converted to a String.</li>
<li><em>Specify both the <code>paramName</code> and
<code>paramProperty</code> attributes</em> - The specified
property getter will be called on the JSP bean identified
by the <code>paramName</code> (and optional
<code>paramScope</code>) attributes, in order to select
a value that can be converted to a String.</li>
</ul>
<p>If you prefer to specify a <code>java.util.Map</code> that
contains all of the request parameters to be added to the
hyperlink, use one of the following techniques:</p>
<ul>
<li><em>Specify only the <code>name</code> attribute</em> -
The named JSP bean (optionally scoped by the value of
the <code>scope</code> attribute) must identify a
<code>java.util.Map</code> containing the parameters.</li>
<li><em>Specify both <code>name</code> and
<code>property</code> attributes</em> - The specified
property getter method will be called on the bean
identified by the <code>name</code> (and optional
<code>scope</code>) attributes, in order to return the
<code>java.util.Map</code> containing the parameters.</li>
</ul>
<p>As the <code>Map</code> is processed, the keys are assumed
to be the names of query parameters to be appended to the
<code>src</code> 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.</p>
<p>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 <code>alt</code> attribute, or indirectly from a message
resources bundle, using the <code>bundle</code> and
<code>altKey</code> attributes.</p>
</info>
<attribute>
<name>align</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Where the image is aligned to. Can be one of the
following attributes:</p>
<ul>
<li>left - left justify, wrapping text on right</li>
<li>right -right justify, wrapping test on left</li>
<li>top - aligns the image with the top of the text on
the same row</li>
<li>middle - aligns the image's vertical center with the
text base line</li>
<li>bottom - aligns the image with the bottom of the
text's base line</li>
<li>texttop - aligns the image's top with that of the
text font on the same line</li>
<li>absmiddle - aligns the image's vertical center with the
absolute center of the text</li>
<li>absbottom - aligns the image with the absolute bottom
of the text font on the same row</li>
</ul>
</info>
</attribute>
<attribute>
<name>alt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>And alternative text to be displayed in browsers that
don't support graphics. Also used often as type of
context help over images.</p>
</info>
</attribute>
<attribute>
<name>altKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key of the alternate text for this
element.</p>
</info>
</attribute>
<attribute>
<name>border</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The width of the border surrounding the image.</p>
</info>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The servlet context attribute key for the MessageResources
instance to use. If not specified, defaults to the
application resources configured for our action servlet.</p>
</info>
</attribute>
<attribute>
<name>contextRelative</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<deprecated>Use module attribute instead; will be removed in a release afer 1.2.0.</deprecated>
<info>
<p>If set to "true", this "anchors" the image src at the
application context rather than the module context when the
'page' attribute is used to specify an image path.</p>
</info>
</attribute>
<attribute>
<name>height</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The height of the image being displayed. This parameter
is very nice to specify (along with <code>width</code>)
to help the browser render the page faster.</p>
</info>
</attribute>
<attribute>
<name>hspace</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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.</p>
</info>
</attribute>
<attribute>
<name>imageName</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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.</p>
</info>
</attribute>
<attribute>
<name>ismap</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of the server-side map that this image belongs
to.</p>
</info>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of the request or session Locale attribute used
to look up internationalized messages.</p>
</info>
</attribute>
<attribute>
<name>lowsrc</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>
An image for people with low resolution graphics cards.
</p>
</info>
<deprecated>
This attribute is not defined in the HTML 4.01 spec and
will be removed in a future version of Struts.
</deprecated>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a JSP bean that contains a <code>Map</code>
representing the query parameters (if <code>property</code>
is not specified), or a JSP bean whose property getter is
called to return a <code>Map</code> (if <code>property</code>
is specified).</p>
</info>
</attribute>
<attribute>
<name>onclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse click.
</info>
</attribute>
<attribute>
<name>ondblclick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element receives a
mouse double click.
</info>
</attribute>
<attribute>
<name>onkeydown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>JavaScript event handler that is executed when
this element receives a key down event.</p>
</info>
</attribute>
<attribute>
<name>onkeypress</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>JavaScript event handler that is executed when
this element receives a key press event.</p>
</info>
</attribute>
<attribute>
<name>onkeyup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>JavaScript event handler that is executed when
this element receives a key up event.</p>
</info>
</attribute>
<attribute>
<name>onmousedown</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the mouse
pointer and a mouse button is depressed.
</info>
</attribute>
<attribute>
<name>onmousemove</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and the pointer is moved.
</info>
</attribute>
<attribute>
<name>onmouseout</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was under the
mouse pointer but the pointer was moved outside the element.
</info>
</attribute>
<attribute>
<name>onmouseover</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element was not under
the mouse pointer but the pointer is moved inside the element.
</info>
</attribute>
<attribute>
<name>onmouseup</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
JavaScript event handler executed when this element is under the
mouse pointer and a mouse button is released.
</info>
</attribute>
<attribute>
<name>paramId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of the request parameter that will be dynamically
added to the generated src URL. The corresponding value is
defined by the <code>paramName</code> and (optional)
<code>paramProperty</code> attributes, optionally scoped by
the <code>paramScope</code> attribute</p>
</info>
</attribute>
<attribute>
<name>page</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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
<code>page</code> attribute on the link tag works),
in addition to any necessary URL rewriting. You
<strong>must</strong> specify either the <code>page</code>
attribute or the <code>src</code> attribute.</p>
</info>
</attribute>
<attribute>
<name>pageKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message key, in the message resources bundle named by
the <code>bundle</code> attribute, of the String to be
used as the module-relative path for this image.</p>
</info>
</attribute>
<attribute>
<name>action</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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
<code>action</code> attribute on the link tag works),
in addition to any necessary URL rewriting. You
<strong>must</strong> specify the <code>action</code>,
<code>page</code>
attribute or the <code>src</code> attribute.</p>
<p>Additionally, you can specify a <code>module</code> prefix
for linking to other modules.</p>
</info>
</attribute>
<attribute>
<name>module</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>Prefix name of a <code>Module</code> that
contains the action mapping for the <code>Action</code>
that is specified by the <code>action</code> attribute.
You <strong>must</strong> specify an <code>action</code>
attribute for this to have an effect.</p>
<p><strong>Note: </strong>Use "" to map to the default module.</p>
</info>
</attribute>
<attribute>
<name>paramName</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a JSP bean that is a String containing the
value for the request parameter named by <code>paramId</code>
(if <code>paramProperty</code> is not specified), or a JSP
bean whose property getter is called to return a String
(if <code>paramProperty</code> is specified). The JSP bean
is constrained to the bean scope specified by the
<code>paramScope</code> property, if it is specified.</p>
</info>
</attribute>
<attribute>
<name>paramProperty</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a property of the bean specified by the
<code>paramName</code> attribute, whose return value must
be a String containing the value of the request parameter
(named by the <code>paramId</code> attribute) that will be
dynamically added to this src URL.</p>
</info>
</attribute>
<attribute>
<name>paramScope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The scope within which to search for the bean specified
by the <code>paramName</code> attribute. If not specified,
all scopes are searched.</p>
</info>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of a property of the bean specified by the
<code>name</code> attribute, whose return value must be
a <code>java.util.Map</code> containing the query parameters
to be added to the src URL. You <strong>must</strong>
specify the <code>name</code> attribute if you specify
this attribute.</p>
</info>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The scope within which to search for the bean specified
by the <code>name</code> attribute. If not specified, all
scopes are searched.</p>
</info>
</attribute>
<attribute>
<name>src</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>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 <strong>must</strong>
specify either the <code>page</code> attribute or the
<code>src</code> attribute.</p>
</info>
</attribute>
<attribute>
<name>srcKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message key, in the message resources bundle named by
the <code>bundle</code> attribute, of the String to be
used as the URL of this image.</p>
</info>
</attribute>
<attribute>
<name>style</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>CSS styles to be applied to this element.</p>
</info>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
CSS stylesheet class to be applied to this HTML element
(renders a "class" attribute).
</info>
</attribute>
<attribute>
<name>styleId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
Identifier to be assigned to this HTML element (renders
an "id" attribute).
</info>
</attribute>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The advisory title for this element.</p>
</info>
</attribute>
<attribute>
<name>titleKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The message resources key for the advisory title
for this element.</p>
</info>
</attribute>
<attribute>
<name>useLocalEncoding</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>If set to <code>true</code>, 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.</p>
</info>
</attribute>
<attribute>
<name>usemap</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The name of the map as defined within this page for
mapping hot-spot areas of this image.</p>
</info>
</attribute>
<attribute>
<name>vspace</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The amount of vertical spacing between the icon and
the text, above and below.</p>
</info>
</attribute>
<attribute>
<name>width</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<info>
<p>The width of the image being displayed. This parameter
is very nice to specify (along with <code>height</code>)
to help the browser render the page faster.</p>
</info>
</attribute>
</tag>
<tag>
<name>javascript</name>
<summary>
Render JavaScript validation based on the