| < Day Day Up > |
|
The following table lists each of the tags in the HTML Tag Library and a short description of each tag’s purpose.
Tag | Description |
---|---|
base | Generates an HTML <base> tag with its href attribute set to the absolute URL of the enclosing JSP. |
button | Generates an HTML <input type=“button”> tag. |
cancel | Generates an HTML <input type=“submit”> tag that, when executed, causes Struts’ Cancel feature to be triggered. |
checkbox | Generates an HTML <input type=“checkbox”> tag populated with data from a specified object. |
errors | Displays a set of error messages stored as an org.apache.struts.action.ActionErrors object, a String, or a String array in request scope. |
file | Generates an HTML <input type=“file”> tag populated with data from a specified object. |
form | Generates an HTML <form> tag tied to an Action object and its corresponding Form Bean from the struts-config.xml file. |
frame | Generates an HTML <frame> tag. |
hidden | Generates an HTML <input type=“hidden”> tag populated with data from a specified object. |
html | Generates an HTML <html> tag with language attributes set to the current user’s locale. |
image | Generates an HTML <input type=“image”> tag. |
img | Generates an HTML <img> tag |
javascript | Generates client-side JavaScript validation code for validations defined in the Validator framework’s validation.xml file. |
link | Generates an HTML hyperlink <a> tag whose URL is composed by specifying a base URL and optionally specifying an anchor and/or query string parameters to add to the URL. |
messages | Displays a set of messages stored as an org.apache.struts.action.ActionErrors object, an org.apache.struts.action.ActionMessages object, a String, or a String array in request scope. |
multibox | Generates an HTML <input type=“checkbox”> tag whose checked status is based on whether or not a specified value matches one of the values in a specified array of values. |
option | Generates an HTML <option> tag. |
options | Generates a set of HTML <option> tags for each element in a collection. |
optionsCollection | Generates a set of HTML <option> tags for each element in a collection. |
password | Generates an HTML <input type=“password”> tag populated with data from a specified object. |
radio | Generates an HTML <input type=“radio”> tag populated with data from a specified object. |
reset | Generates an HTML <input type=“reset”> tag. |
rewrite | Generates a URL by specifying a base URL and optionally specifying an anchor and/or query string parameters to add to the URL. |
select | Generates an HTML <select> tag. |
submit | Generates an HTML <input type=“submit”> tag. |
text | Generates an HTML <input type=“text”> tag populated with data from a specified object. |
textarea | Generates an HTML <textarea> tag populated with data from a specified object. |
xhtml | Instructs the rest of the tags in the HTML Tag Library to generate their output as XHTML instead of HTML. |
The remainder of this chapter discusses each tag in detail, including a complete description of the tag, a table listing each of the tag’s attributes, and a usage example for the tag. In the tables that describe each tag’s attributes, pay special attention to the Required and Accepts Scriptlet columns.
The Required column denotes whether or not the given attribute is required when using the tag. If an attribute is required and you do not specify it when using the tag, the tag will throw a javax.servlet.jsp.JspException at run time. Note that you can declare an error page in your JSP with a page directive to capture any JspExceptions that might be thrown, as shown here:
<%@ page errorPage="error.jsp" %>
If an exception occurs, the page specified by the errorPage attribute will be internally redirected to display an error page.
The Accepts Scriptlet column denotes whether or not the given attribute’s value can be specified with a JSP scriptlet. If a JSP scriptlet is used to specify an attribute value, the scriptlet must comprise the complete value, quote (“) to quote (”), as shown here.
Correct:
<html:checkbox property="<%=prop%>">
Incorrect:
<html:checkbox property="<%=result%>-checked">
Notice in the incorrect example that “-checked” is used as part of the value for the property attribute following the scriptlet. This is invalid because there are extra characters between the end of the scriptlet and the ending quote.
A corrected version of the incorrect example follows:
<html:checkbox property="<%=result + "-checked"%>"/>
The concatenation of “-checked” is now part of the scriptlet and the scriptlet comprises the complete value for the attribute.
One other point: Several of the tags have a set of tag attributes in common, such as onclick, onmousedown, and onkeypress. Rather than repeat the description for these common attributes numerous times, they are described once, at the end of this chapter in the “Common Tag Attributes” section. The Description column in each tag’s table of attributes refers you to the “Common Tag Attributes” section for any of the common tag attributes that the tag has in its set of tag attributes.
The base tag is used to generate an HTML <base> tag with its href attribute set to the absolute URL of the enclosing JSP. Note that this tag must be nested inside of an HTML <head> tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
server | Specifies the server name to use when generating the corresponding HTML tag’s href attribute. | Yes | No |
target | Same as the corresponding HTML tag’s attribute with the same name.Specifies the frame or window target in which links will be opened. | Yes | No |
The following snippet shows the basic usage of the base tag:
<html:html> <head> <title></title> <html:base/> </head>
Remember that this tag must be enclosed by opening and closing HTML <head> tags.
The button tag is used to generate an HTML <input type=“button”> tag. Note that this tag must be nested inside of this library’s form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “property[x]”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Same as the corresponding HTML tag’s name attribute.Specifies the name that will be associated with this control. | Yes | Yes |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with.This value will be used for the button’s label. If not specified, this tag will attempt to use its body content as the value for the button’s label. | Yes | No |
The following snippet illustrates the basic usage of the button tag:
<html:button property="direction" value="Next Page"/>
The value specified with the value attribute will be used for the button’s label. Alternatively, you can specify the button’s label value by nesting a string between opening and closing button tags, as shown here:
<html:button>Next Page</html:button>
Struts has a built-in Cancel feature that will cause it to bypass calling a Form Bean’s validate( ) method if a request parameter named “org.apache.struts.taglib.html.CANCEL” is present in an incoming request. Additionally, Action objects can call an isCancelled( ) method to determine whether or not a request was cancelled. The cancel tag generates an HTML <input type=“submit”> tag with its name attribute set to “org.apache.struts.taglib.html.CANCEL” so that, when executed, Struts’ Cancel feature will be triggered. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Same as the corresponding HTML tag’s name attribute.Specifies the name that will be associated with this control.Caution: If you set this attribute to a value other than its default, Struts’ Cancel feature will not be triggered. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with.This value will be used for the button’s label. If not specified, this tag will attempt to use its body content as the value for the button’s label. | Yes | No |
The following snippet illustrates the basic usage of the cancel tag:
<html:cancel value="Cancel Update"/>
The value specified with the value attribute will be used for the button’s label. Alternatively, you can specify the button’s label value by nesting a string between opening and closing cancel tags, as shown here:
<html:cancel>Cancel Update</html:cancel>
The checkbox tag is used to generate an HTML <input type=“checkbox”> tag populated with data from a specified object. Note that this tag must be nested inside of this library’s form tag. Additionally, the underlying Form Bean field associated with this control must be of primitive type boolean or of type Boolean and the Form Bean’s reset( ) method must include a statement that resets the field to false.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index. (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | No |
The following snippet illustrates the basic usage of the checkbox tag:
<html:form action="/register"> Subscribe to mailing list: <html:checkbox property="subscribe"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The errors tag is used to display a set of error messages stored as an org.apache.struts.action.ActionErrors object, a String, or a String array in request scope. This tag will take the stored error messages and iterate over them, displaying them in succession. Additionally, this tag uses the values for the following table of keys from Strut’s ApplicationResources.properties file to format the messages.
Key | Purpose |
---|---|
errors.header | Text that will be output before the list of error messages. |
errors.footer | Text that will be output after the list of error messages. |
errors.prefix | Text that will be output before each error message. |
errors.suffix | Text that will be output after each error message. |
Attribute | Description | AcceptsScriptlet | Required |
---|---|---|---|
bundle | Specifies the logical name of a resource bundle that will be used when looking up error keys. | Yes | No |
locale | Specifies the key for a java.util.Locale instance stored as a session attribute that will be used when looking up error keys. | Yes | No |
name | Specifies the key (in any scope) under which the errors to be displayed are stored. If not specified, the default org.apache.struts.Globals.ERROR_KEY key will be used. | Yes | No |
property | Specifies the field for which errors will be displayed. If not specified, all errors will be displayed. | Yes | No |
The following snippet illustrates the basic usage of the errors tag:
<html:errors/>
This example will display all the errors currently stored. If you want to limit the errors that are displayed to a specific property, you can specify that property when using the errors tag, as shown here:
<html:errors property="username"/>
In this case, only the errors associated with the property specified by the property attribute will be displayed.
The file tag is used to generate an HTML <input type=“file”> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag. Additionally, the enclosing form tag must specify its HTTP method as being POST and its encoding type as being multipart/form-data, as shown here:
<html:form method="POST" enctype="multipart/form-data"> … </html:form>
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accept | Same as the corresponding HTML tag’s attribute with the same name. Specifies a comma-delimited list of content types that the server you submit the enclosing form to knows how to process. Browsers can use this list to limit the set of files made available for selection. | Yes | No |
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
maxlength | Same as the corresponding HTML tag’s attribute with the same name.Specifies the maximum number of characters that this control will accept. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to which the corresponding HTML tag’s name attribute is set.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
size | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of characters that will be visible in the control. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that is used to populate the control. | Yes | No |
The following snippet illustrates the basic usage of the file tag:
<html:form method="POST" enctype="multipart/form-data" action="/attachFile"> Upload File: <html:file property="uploadFile"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The form tag is used to generate an HTML <form> tag tied to an Action and its corresponding Form Bean from the struts-config.xml file. The Action’s Form Bean will be used by other tags from this library to populate them with data when they are nested inside this tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
action | Specifies the logical name of an Action, defined in the struts-config.xml file, whose path will be used to define the corresponding HTML tag’s attribute with the same name. | Yes | Yes |
enctype | Same as the corresponding HTML tag’s attribute with the same name.Specifies the encoding to be used when submitting this form if the POST method is used. This must be set to “multipart/ form-data” if you are using the file tag to upload files. | Yes | No |
focus | Specifies the name of a field inside this form that initial focus will be assigned to using JavaScript. | Yes | No |
focusIndex | Specifies an index to be used if the field specified with the focus attribute is a field array such as a radio button group. | Yes | No |
method | Same as the corresponding HTML tag’s attribute with the same name.Specifies the HTTP method that will be used when submitting this form (i.e., GET or POST). | Yes | No |
name | DeprecatedUse the action attribute instead. | Yes | No |
onreset | Same as the corresponding HTML tag’s attribute with the same name.Specifies the JavaScript code to execute when this form is reset. | Yes | No |
onsubmit | Same as the corresponding HTML tag’s attribute with the same name.Specifies the JavaScript code to execute when this form is submitted. | Yes | No |
scope | DeprecatedUse the action attribute instead. | Yes | No |
scriptLanguage | Accepts “false” to denote that the language attribute of the <focus> tag generated by this tag’s focus attribute should be omitted.Note that the generated <focus> tag’s language attribute is omitted regardless when the tags in this library are in XHTML mode. | Yes | No |
style | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
target | Same as the corresponding HTML tag’s attribute with the same name.Specifies the frame or window target in which this form will be submitted. | Yes | No |
type | DeprecatedUse the action attribute instead. | Yes | No |
The following snippet illustrates the basic usage of the form tag:
<html:form action="/logon"> UserName: <html:text property="username"/><br> Password: <html:password property="password"/><br> <html:submit/> </html:form>
The Form Bean associated with the Action specified by the action attribute will be used for populating the nested HTML controls inside the opening and closing form tags.
The frame tag is used to generate an HTML <frame> tag. The frame’s URL is composed by specifying a base URL and optionally specifying an anchor and/or query string parameters to add to the URL.
There are four ways to specify the base URL:
You can use the action attribute to specify the name of an Action from the Struts configuration file whose URL will be used.
You can use the forward attribute to specify the name of a forward from the Struts configuration file whose URL will be used.
You can use the href attribute to specify an absolute URL, including protocol (e.g., http://www.yahoo.com/).
You can use the page attribute to specify an application-relative URL.
In addition to specifying the base URL, you have two options for specifying query string parameters to add to the base URL:
You can use the paramId attribute in conjunction with the paramName attribute, and optionally the paramProperty attribute, to specify a single parameter.
You can use the name attribute, either alone or in tandem with the property attribute, to specify a java.util.Map object that will be used to add several parameters.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
action | Specifies the name of an Action, from the Action Mappings section of the Struts configuration file, that contains the URL for this frame. | Yes | No |
anchor | Specifies the anchor (e.g., “#bottom”) to be added to the URL for this frame. This value must be specified without the leading hash (#) character. | Yes | No |
forward | Specifies the name of a forward, from the Global Forwards Configuration section of the Struts configuration file, that contains the URL for this frame. | Yes | No |
frameborder | Same as the corresponding HTML tag’s attribute with the same name.Specifies the border size for this frame (0 for no border). | Yes | No |
frameName | Same as the corresponding HTML tag’s name attribute.Specifies the logical name to give the frame. | Yes | No |
href | Specifies the absolute URL, including protocol (e.g., http://www.yahoo.com), for this frame. | Yes | No |
longdesc | Same as the corresponding HTML tag’s attribute with the same name.Specifies the URL for a long description of the frame that supplements the short description provided by the title attribute. | Yes | No |
marginheight | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of pixels that will be placed between this frame’s contents and its top and bottom margins. | Yes | No |
marginwidth | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of pixels that will be placed between this frame’s contents and its left and right margins. | Yes | No |
name | Specifies the name of the java.util.Map object whose elements are added as query string parameters to the URL for this frame. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return the java.util.Map object whose elements are added as query string parameters to the URL for this frame. | Yes | No |
noresize | Same as the corresponding HTML tag’s attribute with the same name.Accepts “true” to denote that this frame will not be resizable. | Yes | No |
page | Specifies the application-relative URL (starts with a leading slash, /) for this frame. | Yes | No |
paramId | Specifies the name of a single parameter to add to the URL for this frame. | Yes | No |
paramName | Specifies the name of an object whose value will be used as the value for the parameter specified with the paramId attribute. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramProperty | Specifies the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramScope | Specifies the scope (application, page, request, or session) to look in for the object specified by the paramName attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return the java.util.Map object whose elements are added as query string parameters to the URL for this frame. | Yes | No |
scope | Specifies the scope (application, page, request, or session) to look in for the object specified by the name attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
scrolling | Same as the corresponding HTML tag’s attribute with the same name.Specifies whether or not this frame is scrollable. Specify “yes” to have scroll bars unconditionally, “no” to never have scroll bars, or “auto” to have scroll bars automatically based on how much content is in the frame. | Yes | No |
style | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
transaction | Accepts “true” or “false” to denote whether or not the current transaction token is included in the URL for this frame. | Yes | No |
There are a few different ways to use the frame tag. The first way, shown here, uses the href attribute to specify an absolute URL for the frame:
<html:frame href="http://www.yahoo.com/"/>
The following example adds to the first example by specifying a single query string parameter to add to the base URL specified by the href attribute:
<html:frame href="http://www.yahoo.com/" param paramName="queryObj"/>
This example takes the base URL specified by the href attribute and appends the query string parameter specified by the paramId and paramName attributes and composes a URL for the frame.
Another way to use the frame tag is shown here:
<html:frame page="/search.jsp" name="params"/>
This example uses the page attribute to specify an application-relative base URL and uses the name attribute to specify a java.util.Map object whose entries are added to the URL as query string parameters.
The hidden tag is used to generate an HTML <input type=“hidden”> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to which the corresponding HTML tag’s name attribute is set.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with. | Yes | No |
write | Accepts “true” to denote that this control’s value will also be written out to the page so that it is visible. | Yes | No |
The following snippet illustrates the basic usage of the hidden tag:
<html:form action="/search"> <html:hidden property="lastId"/> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The html tag is used to generate an HTML <html> tag with language attributes set to the current user’s locale. Additionally, you can use this tag to instruct the rest of the tags in the HTML Tag Library to generate their output as XHTML instead of HTML. More information on XHTML can be found at http://www.w3.org/TR/xhtml1/.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
locale | Accepts “true” to denote that a java.util.Locale object, set to the current request’s “AcceptLanguage” HTTP header, will be placed into the session. If a session does not exist, one will be created upon this tag storing the Locale object. | Yes | No |
xhtml | Accepts “true” to denote that the rest of the tags in the HTML Tag Library will generate their output as XHTML instead of HTML. | Yes | No |
The following snippet shows the basic usage of the html tag:
<html:html/>
If you want the HTML Tag Library’s tags to generate XHTML instead of HTML, use the html tag as shown here:
<html:html xhtml="true"/>
The image tag is used to generate an HTML <input type=“image”> tag. Note that this tag must be nested inside of a form tag.
There are two ways you can use the image tag, as listed here and shown later in the “Example Usage” section:
You can use the page or pageKey attribute to specify a module-relative URL that will be used as the generated HTML tag’s src attribute.
You can use the src or srcKey attribute to specify a URL that will be used as the generated HTML tag’s src attribute.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
align | Same as the corresponding HTML tag’s attribute with the same name.Specifies how the image will be aligned (i.e., left, right, top, bottom, and so on). | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
border | Same as the corresponding HTML tag’s attribute with the same name.Specifies the width of the border surrounding the image. | Yes | No |
bundle | Specifies the logical name of a resource bundle that will be used when looking up message keys specified by other attributes of this tag (i.e., pageKey and srcKey). | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “property[x]”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
locale | Specifies the key for a java.util.Locale instance stored as a session attribute that will be used when looking up message keys specified by other attributes of this tag (i.e., pageKey and srcKey). | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
page | Specifies a module-relative URL for this button’s image. | Yes | No |
pageKey | Specifies a key from Struts’ ApplicationResources.properties file whose value will be used to set the corresponding HTML tag’s src attribute with a module-relative URL. | Yes | No |
property | Same as the corresponding HTML tag’s name attribute.Specifies the name that will be associated with this control. | Yes | No |
src | Same as the corresponding HTML tag’s attribute with the same name.Specifies the source URL for this button’s image. | Yes | No |
srcKey | Specifies a key from Struts’ ApplicationResources.properties file whose value will be used to set the corresponding HTML tag’s src attribute. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with. If not specified, this tag will attempt to use its body content as the value. | Yes | No |
As mentioned, there are two ways you can use the image tag. The first way, shown here, uses the page attribute to specify a module-relative URL for the generated HTML tag’s src attribute:
<html:image page="previous.gif"/>
The second way to use the image tag is shown here:
<html:image src="/books/1/248/1/html/2//images/next.gif"/>
This example uses the src attribute to specify a URL for the generated HTML tag’s src attribute. The image tag will be used in this way for most applications; however, if you are taking advantage of Struts’ module functionality, you will use the page or pageKey attribute.
The img tag is used to generate an HTML <img> tag. The image’s URL is composed by specifying a base URL and optionally specifying query string parameters to add to the URL.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
action | Specifies the name of an action, from the Action Mappings Configuration section of the Struts configuration file, that contains the base URL for the image. | Yes | No |
align | Same as the corresponding HTML tag’s attribute with the same name.Specifies how the image will be aligned (i.e., left, right, top, bottom, and so on). | Yes | No |
alt | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
border | Same as the corresponding HTML tag’s attribute with the same name.Specifies the width of the border surrounding the image. | Yes | No |
bundle | Specifies the logical name of a resource bundle that will be used to look up messages for this tag. | Yes | No |
height | Same as the corresponding HTML tag’s attribute with the same name.Specifies the height of this image in pixels. | Yes | No |
hspace | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of pixels that will be placed between this image and text surrounding it from the top or bottom. | Yes | No |
imageName | Same as the corresponding HTML tag’s name attribute.Specifies the scriptable name for the image. | Yes | No |
ismap | Same as the corresponding HTML tag’s attribute with the same name.Specifies the name of a server-side image map to use to map different regions of the image to different URLs. | Yes | No |
locale | Specifies the key for a java.util.Locale instance stored as a session attribute that will be used when looking up message keys specified by other attributes of this tag (i.e., pageKey and srcKey). | Yes | No |
lowsrc | DeprecatedThis attribute has been removed from the HTML spec as of version 4.01 and will no longer be supported in future versions of Struts. | Yes | No |
module | Specifies the name of a module that contains the action specified with the action attribute. | Yes | No |
name | Specifies the name of the java.util.Map object whose elements are added as query string parameters to the URL for this image. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return the java.util.Map object whose elements are added as query string parameters to the URL for this image. | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
page | Specifies a module-relative URL for this image. | Yes | No |
pageKey | Specifies a key from Struts’ ApplicationResources.properties file whose value will be used to set the corresponding HTML tag’s src attribute with a module-relative URL. | Yes | No |
paramId | Specifies the name of a single parameter to add to the URL for this image. | Yes | No |
paramName | Specifies the name of an object whose value will be used as the value for the parameter specified with the paramId attribute. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramProperty | Specifies the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramScope | Specifies the scope (application, page, request, or session) to look in for the object specified by the paramName attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return the java.util.Map object whose elements are added as query string parameters to the URL for this image. | Yes | No |
scope | Specifies the scope (application, page, request, or session) to look in for the object specified by the name attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
src | Same as the corresponding HTML tag’s attribute with the same name.Specifies the source URL for this image. | Yes | No |
srcKey | Specifies a key from Struts’ ApplicationResources.properties file whose value will be used to set the corresponding HTML tag’s src attribute. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
usemap | Same as the corresponding HTML tag’s attribute with the same name.Specifies the name of a client-side image map to use for mapping different regions of the image to different URLs. | Yes | No |
vspace | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of pixels that will be placed between this image and text surrounding it from the left or right. | Yes | No |
width | Same as the corresponding HTML tag’s attribute with the same name.Specifies the width of this image in pixels. | Yes | No |
There are a few different ways to use the img tag. The first way, shown here, uses the src attribute to specify an absolute URL for the image:
<html:img src="/books/1/248/1/html/2/http://www.domain.com/image.gif"/>
The following example adds to the first example by specifying a single query string parameter to add to the base URL specified by the src attribute:
<html:img href=" http://www.domain.com/image.gif" param paramName="imageObj"/>
This example takes the base URL specified by the href attribute and appends the query string parameter specified by the paramId and paramName attributes and composes a URL for the image.
The javascript tag is used to generate client-side JavaScript validation code for validations defined in the Validator framework’s validation.xml file.
The JavaScript code generated by the javascript tag can be broken down into two pieces: static code and dynamic code. The static piece is composed of all the generic validation routine methods. The dynamic piece is composed of the code that is specific to a particular HTML form and that calls the static validation methods. Because the static piece of code is typically very large and is often repeated across several pages, it is advantageous to break that piece out and store it in its own file. That way it can simply be referenced by each page that makes use of it. The javascript tag allows you to break up the two pieces of code by specifying which code it generates with the dynamicJavascript and staticJavascript attributes.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
cdata | Accepts “false” to denote that the generated JavaScript code will not be enclosed in XML CDATA tags (i.e., <![CDATA[ ]]>).Note that CDATA tags are necessary to prevent JavaScript code from being parsed when used in conjunction with XHTML. | Yes | No |
dynamicJavascript | Accepts “false” to denote that dynamic JavaScript will not be generated. | No | No |
formName | Specifies the logical name of a Form Bean whose validation rules will be used to generate JavaScript validation code. | Yes | No |
htmlComment | Accepts “false” to denote that the generated JavaScript code will not be enclosed in HTML comment tags (i.e., <!- - - ->). | Yes | No |
method | Specifies an alternate JavaScript method name to be used instead of the default. | Yes | No |
page | Specifies the logical name of a page to use to filter which validations for the specified form will be generated. This logical name matches the logical name that can be applied to individual fields in the validation.xml file. | Yes | No |
scriptLanguage | Accepts “false” to denote that the language attribute of the <script> tag generated by this tag should be omitted.Note that the generated <script> tag’s language attribute is omitted regardless when the tags in this library are in XHTML mode. | Yes | No |
src | Same as the corresponding JavaScript tag’s attribute with the same name.Specifies the URL to a static JavaScript file to be included. | Yes | No |
staticJavascript | Accepts “false” to denote that static JavaScript will not be generated. | No | No |
The following snippet illustrates the basic usage of the javascript tag:
<html:javascript formName="logonForm"/>
This example will generate JavaScript code for all the validation rules in the validation.xml file that are tied to the Form Bean specified by the formName attribute.
If you want to separate the dynamic and static pieces of the generated JavaScript code, you can use the javascript tag as shown next:
<html:javascript formName="logonForm" staticJavascript="false" src="/books/1/248/1/html/2/staticJavascript.jsp"/>
This usage only generates the dynamic JavaScript for the specified form. The following example generates the generic static JavaScript code:
<html:javascript formName="logonForm" dynamicJavascript="false"/>
This snippet must be placed into a separate file named staticJavascript.jsp to match the file name specified by the src attribute of the previous example.
The link tag is used to generate an HTML hyperlink <a> tag whose URL is composed by specifying a base URL and optionally specifying an anchor and/or query string parameters to add to the URL.
There are four ways to specify the base URL:
You can use the action attribute to specify the name of an Action from the Struts configuration file whose URL will be used.
You can use the forward attribute to specify the name of a forward from the Struts configuration file whose URL will be used.
You can use the href attribute to specify an absolute URL, including protocol (e.g., http://www.yahoo.com/).
You can use the page attribute to specify an application-relative URL.
In addition to specifying the base URL, you have two options for specifying query string parameters to add to the base URL:
You can use the paramId attribute in conjunction with the paramName attribute, and optionally the paramProperty attribute, to specify a single parameter.
You can use the name attribute, either alone or in tandem with the property attribute, to specify a java.util.Map object that will be used to add several parameters.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
action | Specifies the name of an Action, from the Action Mappings section of the Struts configuration file, that contains the URL for this link. | Yes | No |
anchor | Specifies the anchor (e.g., “#bottom”) to be added to the URL for this link. This value must be specified without the leading hash (#) character. | Yes | No |
forward | Specifies the name of a forward, from the Global Forwards Configuration section of the Struts configuration file, that contains the URL for this link. | Yes | No |
href | Specifies the absolute URL, including protocol (e.g., http://www.yahoo.com), for this link. | Yes | No |
indexed | Accepts “true” to denote that an indexed parameter, whose name is specified by the indexId attribute, will be added to the URL for this link.This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
indexId | Specifies the name to use for an indexed parameter if the indexed attribute is used.This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
linkName | Same as the corresponding HTML tag’s name attribute.Specifies the name of a page anchor for intra-page hyperlinks. | Yes | No |
module | Specifies the name of a module that contains the action specified with the action attribute. | Yes | No |
name | Specifies the name of the java.util.Map object whose elements are added as query string parameters to the URL for this link. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return the java.util.Map object whose elements are added as query string parameters to the URL for this link. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
page | Specifies the application-relative URL (starts with a leading slash, /) for this link. | Yes | No |
paramId | Specifies the name of a single parameter to add to the URL for this link. | Yes | No |
paramName | Specifies the name of an object whose value will be used as the value for the parameter specified with the paramId attribute. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramProperty | Specifies the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramScope | Specifies the scope (application, page, request, or session) to look in for the object specified by the paramName attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return the java.util.Map object whose elements are added as query string parameters to the URL for this link. | Yes | No |
scope | Specifies the scope (application, page, request, or session) to look in for the object specified by the name attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
transaction | Accepts “true” or “false” to denote whether or not the current transaction token will be included in the URL for this link. | Yes | No |
There are a few different ways to use the link tag. The first way, shown here, uses the href attribute to specify an absolute URL for the frame:
<html:link href="http://www.yahoo.com/"/>
The following example adds to the first example by specifying a single query string parameter to add to the base URL specified by the href attribute:
<html:link href="http://www.yahoo.com/" param paramName="queryObj"/>
This example takes the base URL specified by the href attribute and appends the query string parameter specified by the paramId and paramName attributes and composes a URL that the tag then redirects to.
Another way to use the link tag is shown here:
<html:link page="/search.jsp" name="params"/>
This example uses the page attribute to specify an application-relative base URL and uses the name attribute to specify a java.util.Map object whose entries are added to the URL as query string parameters.
The messages tag is used to display a set of messages stored as an org.apache.struts .action.ActionErrors object, an org.apache.struts.action.ActionMessages object, a String, or a String array in request scope. Similar to the errors tag, this tag will take the stored messages and iterate over them; however, instead of actually outputting the messages to the JSP, this tag behaves similar to the Logic Tag Library’s iterate tag. On each iteration, it stores the current message in a page scope JSP variable.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
bundle | Specifies the logical name of a resource bundle that will be used when looking up message keys specified by other attributes of this tag (e.g., footer and header). | Yes | No |
footer | Specifies a key from Struts’ ApplicationResources.properties file whose value will be printed after the messages have been iterated through. | Yes | No |
header | Specifies a key from Struts’ ApplicationResources.properties file whose value will be printed before the messages have been iterated through. | Yes | No |
id | Specifies the name for a page scope JSP variable that will hold a reference to the current message on each iteration. | No | Yes |
locale | Specifies the key for a java.util.Locale instance stored as a session attribute that will be used when looking up message keys specified by other attributes of this tag (e.g., footer and header). | Yes | No |
message | Accepts “true” to denote that the messages to be displayed are stored under the org.apache.struts.Globals.MESSAGE_KEY key instead of the org.apache.struts.Globals.ERROR_KEY key. | Yes | No |
name | Specifies the key (in any scope) under which the messages to be displayed are stored. If not specified, the default org.apache.struts.Globals.ERROR_KEY key will be used. | Yes | No |
property | Specifies the field for which messages will be displayed. If not specified, all messages will be displayed. | Yes | No |
The following snippet illustrates the basic usage of the messages tag:
<html:messages > <li><bean:write name="msg"/></li> </html:messages>
This example will display all the messages currently stored. If you want to limit the messages that are displayed to a specific property, you can specify that property when using the messages tag, as shown here:
<html:messages property="category"> <li><bean:write name="msg"/></li> </html:messages>
In this case, only the messages associated with the property specified by the property attribute will be displayed.
The multibox tag is used to generate an HTML <input type=“checkbox”> tag whose checked status is based on whether or not a specified value matches one of the values in a specified array of values. This tag is useful when your JSP is displaying several check boxes at a time. Instead of using several instances of the checkbox tag, you can use this tag in conjunction with the Logic Tag Library’s iterate tag to reduce the amount of code it takes to deal with several check boxes.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | No |
The following snippet illustrates the basic usage of the multibox tag:
<logic:iterate property="items"> <html:multibox property="selectedItems"> <bean:write name="item"/> </html:multibox> <bean:write name="item"/> </logic:iterate>
In this example, the iterate tag loops through each of the elements in the collection specified by its property attribute. Each iteration of the loop uses the multibox tag to generate an HTML <input type=“checkbox”> tag whose checked status is based on whether or not the loop’s current element is present in the collection specified by the property attribute of the multibox tag.
The option tag is used to generate an HTML <option> tag. Note that this tag must be nested inside of the select tag. If an instance of this tag’s value matches the value of the Form Bean field corresponding to the enclosing select tag, the instance will be marked as selected.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
bundle | Specifies the logical name of a resource bundle that will be used to look up the message specified by the key attribute. | Yes | No |
disabled | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
key | Specifies a key from Struts’ ApplicationResources.properties file whose value will be used to set the text that will be displayed for this option. If not specified, the text displayed for this option will be taken from this tag’s body content. | Yes | No |
locale | Specifies the key for a java.util.Locale instance stored as a session attribute that will be used when looking up the message specified by the key attribute. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | Yes |
The following snippet illustrates the basic usage of the option tag:
<html:select property="gender"> <html:option value="male">Male</html:option> <html:option value="female">Female</html:option> </html:select>
If the value specified by an option tag’s value attribute matches the value of the Form Bean field specified by the select tag’s property attribute, the HTML <option> tag will be marked as selected when it is generated.
The options tag is used to generate a set of HTML <option> tags for each element in a collection. Note that this tag must be nested inside of the select tag.
There are three ways you can specify which collection to generate options from, as listed here and shown later in the “Example Usage” section:
You can use the collection attribute to specify a scriptlet that evaluates to a collection object.
You can use the name attribute to specify the name of a collection object that can be in any scope.
You can use the name and property attributes in tandem to specify the name of an object and its field whose getter method will be called to return a collection object.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
collection | Specifies the name of a collection object (in any scope) whose elements will be used to create a set of options. | Yes | No |
filter | Accepts “false” to denote that option labels will not be filtered for sensitive HTML characters (e.g., > and <). | Yes | No |
labelName | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will have its getter method called to return a collection object whose elements will be used as labels for the created options. | Yes | No |
labelProperty | Specifies the field of the object specified by the name attribute whose getter method will be called to return a collection object whose elements will be used as labels for the created options. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will have its getter method called to return a collection object whose elements will be used to create a set of options. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return a collection object whose elements will be used to create a set of options. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | No |
style | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
As mentioned there are three basic ways you can use the options tag. The first way, shown here, uses the collection attribute to specify the collection from which to create options:
<html:select property="category"> <html:options collection="catOptions"/> </html:select>
This example assumes you have defined a collection named “category” and then uses its elements to generate a set of options.
The second way to use the options tag is shown here:
<html:select property="category"> <html:options name="catOptions"/> </html:select>
This example is very similar to the first example; however, it differs in that the collection from which to generate options is specified with the name attribute.
The third way to use the options tag is shown here:
<html:select property="category"> <html:options name="cat" property="options"/> </html:select>
In this example, the name and property attributes are used in tandem to specify the name of an object and its field whose getter method will be called to return a collection for which to generate options.
The optionsCollection tag is used to generate a set of HTML <option> tags for each element in a collection. This tag is very similar to the options tag, but differs in that it requires the objects in the specified collection to have fields for the generated options’ labels and values. Note that this tag must be nested inside of the select tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
filter | Accepts “false” to denote that option labels will not be filtered for sensitive HTML characters (e.g., > and <). | Yes | No |
label | Specifies the field of the object specified with the name and property attributes whose value will be used as the label for the generated options. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will have its getter method called to return a collection object whose elements will be used to create a set of options. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return a collection object whose elements will be used to create a set of options. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | No |
style | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
value | Specifies the field of the object specified with the name and property attributes whose value will be used as the value for the generated options. | Yes | No |
The following snippet illustrates the basic usage of the optionsCollection tag:
<html:select property="category"> <html:optionsCollection name="cat" property="options"/> </html:select>
In this example, the name and property attributes are used in tandem to specify the name of an object and its field whose getter method will be called to return a collection for which to generate options.
The password tag is used to generate an HTML <input type=“password”> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
maxlength | Same as the corresponding HTML tag’s attribute with the same name.Specifies the maximum number of characters that this control will accept. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
readonly | Same as the corresponding HTML tag’s attribute with the same name.Accepts “true” to denote that the control’s value will be read-only, preventing it from being changed. | Yes | No |
redisplay | Accepts “false” to denote that the value specified with the name and property attributes or specified with the value attribute will not be used to populate this control. | Yes | No |
size | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of characters that will be visible in the control. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | No |
The following snippet illustrates the basic usage of the password tag:
<html:form action="/logon"> UserName: <html:text property="username"/><br> Password: <html:password property="password"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The radio tag is used to generate an HTML <input type=“radio”> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
idName | If an iterator is used to generate a series of radio tags, this attribute can be used to specify a name for the object exposed by the iterator. In this case, the value attribute is used as the name of a field on the exposed object whose getter method will be called to return the value that the radio tag for this iteration will be populated with. | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | Yes |
The following snippet illustrates the basic usage of the radio tag:
<html:form action="/register"/> Male: <html:radio property="gender" value="male"/><br> Female: <html:radio property="gender" value="female"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. If the field’s value matches the value specified with the value attribute, the radio button will be selected.
The reset tag is used to generate an HTML <input type=“reset”> tag. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Same as the corresponding HTML tag’s name attribute.Specifies the name that will be associated with this control. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with.This value will be used for the button’s label. If not specified, this tag will attempt to use its body content as the value for the button’s label. | Yes | No |
The following snippet illustrates the basic usage of the reset tag:
<html:reset value="Reset Form"/>
The value specified with the value attribute will be used for the button’s label. Alternatively, you can specify the button’s label value by nesting a string between opening and closing reset tags, as shown here:
<html:reset>Reset Form</html:reset>
Similar to the link tag, the rewrite tag is used to generate a URL by specifying a base URL and optionally specifying an anchor and/or query string parameters to add to the URL. However, this tag does not create an HTML <a> tag for the generated URL. This tag is useful for creating URLs that are used as string constants in JavaScript code.
There are four ways to specify the base URL:
You can use the action attribute to specify the name of an Action from the Struts configuration file whose URL will be used.
You can use the forward attribute to specify the name of a forward from the Struts configuration file whose URL will be used.
You can use the href attribute to specify an absolute URL, including protocol (e.g., http://www.yahoo.com/).
You can use the page attribute to specify an application-relative URL.
In addition to specifying the base URL, you have two options for specifying query string parameters to add to the base URL:
You can use the paramId attribute in conjunction with the paramName attribute, and optionally the paramProperty attribute, to specify a single parameter.
You can use the name attribute, either alone or in tandem with the property attribute, to specify a java.util.Map object that will be used to add several parameters.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
action | Specifies the name of an action, from the Action Mappings Configuration section of the Struts configuration file, that contains the base URL for the generated URL. | Yes | No |
anchor | Specifies the anchor (e.g., “#bottom”) to be added to the generated URL. This value must be specified without the leading hash (#) character. | Yes | No |
forward | Specifies the name of a forward, from the Global Forwards Configuration section of the Struts configuration file, that contains the base URL for the generated URL. | Yes | No |
href | Specifies the absolute base URL, including protocol (e.g., http://www.yahoo.com), for the generated URL. | Yes | No |
module | Specifies the name of a module that contains the action specified with the action attribute. | Yes | No |
name | Specifies the name of the java.util.Map object whose elements are added as query string parameters to the generated URL. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return the java.util.Map object whose elements are added as query string parameters to the generated URL. | Yes | No |
page | Specifies the application-relative base URL (starts with a leading slash, /) for the generated URL. | Yes | No |
paramId | Specifies the name of a single parameter to add to the generated URL. | Yes | No |
paramName | Specifies the name of an object whose value will be used as the value for the parameter specified with the paramId attribute. If the property attribute is also specified, one of the fields of the object defined by this attribute will have its getter method called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramProperty | Specifies the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used as the value for the parameter specified with the paramId attribute. | Yes | No |
paramScope | Specifies the scope (application, page, request, or session) to look in for the object specified by the paramName attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
property | Specifies the field of the object specified by the name attribute whose getter method will be called to return the java.util.Map object whose elements are added as query string parameters to the generated URL. | Yes | No |
scope | Specifies the scope (application, page, request, or session) to look in for the object specified by the name attribute. If not specified, each scope will be searched, in this order: page, request, session, and then application. | Yes | No |
transaction | Accepts “true” or “false” to denote whether or not the current transaction token will be included in the generated URL. | Yes | No |
There are a few different ways to use the rewrite tag. The first way, shown here, uses the href attribute to specify an absolute URL for the frame:
<html:rewrite href="http://www.yahoo.com/"/>
The following example adds to the first example by specifying a single query string parameter to add to the base URL specified by the href attribute:
<html:rewrite href="http://www.yahoo.com/" param paramName="queryObj"/>
This example takes the base URL specified by the href attribute and appends the query string parameter specified by the paramId and paramName attributes and composes a URL that the tag then redirects to.
Another way to use the rewrite tag is shown here:
<html:rewrite page="/search.jsp" name="params"/>
This example uses the page attribute to specify an application-relative base URL and uses the name attribute to specify a java.util.Map object whose entries are added to the URL as query string parameters.
The select tag is used to generate an HTML <select> tag. Note that this tag must be nested inside of the form tag.
There are two ways you can use the select tag, as listed here and shown later in the “Example Usage” section:
You can omit the multiple attribute so that only one selection can be made. If you take this route, the property attribute must evaluate to a scalar value for the nested option that is selected.
You can assign an arbitrary value to the multiple attribute so that multiple selections can be made. If you take this route, the property attribute must evaluate to an array of scalar values for each nested option that is selected.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
alt | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
multiple | Same as the corresponding HTML tag’s attribute with the same name.Accepts an arbitrary value to denote that multiple selections can be made on the control. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to determine which nested option tag will be set as selected. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to determine which nested option tag will be set as selected. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
size | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of options that will be visible at a time. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies the value to use when determining which nested option tag will be set as selected. | Yes | No |
As mentioned, there are two ways you can use the select tag. The first way, shown here, omits the multiple attribute so that only one nested option will be selected:
<html:select property="gender"> <html:option value="male">Male</html:option> <html:option value="female">Female</html:option> </html:select>
The second way to use the select tag is shown here:
<html:select property="color" multiple="true" size="3"> <html:option value="red">Red</html:option> <html:option value="green">Green</html:option> <html:option value="blue">Blue</html:option> <html:option value="black">Black</html:option> <html:option value="white">White</html:option> </html:select>
This example uses the multiple attribute to denote that the object specified with the property attribute will be an array of values for each nested option that will be selected.
The submit tag is used to generate an HTML <input type=“submit”> tag. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “property[x]”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Same as the corresponding HTML tag’s name attribute.Specifies the name that will be associated with this control. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that this control will be populated with.This value will be used as the button’s label. | Yes | No |
The following snippet illustrates the basic usage of the submit tag:
<html:submit value="Add Record"/>
The value specified with the value attribute will be used for the button’s label. Alternatively, you can specify the button’s label value by nesting a string between opening and closing submit tags, as shown here:
<html:submit>Next Page</html:submit>
The text tag is used to generate an HTML <input type=“text”> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute must have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
maxlength | Same as the corresponding HTML tag’s attribute with the same name.Specifies the maximum number of characters that this control will accept. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
readonly | Same as the corresponding HTML tag’s attribute with the same name.Accepts “true” to denote that the control’s value will be read-only, preventing it from being changed. | Yes | No |
size | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of characters that will be visible in the control. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | No |
The following snippet illustrates the basic usage of the text tag:
<html:form action="/search"> Search Query: <html:text property="query"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The textarea tag is used to generate an HTML <textarea> tag populated with data from a specified object. Note that this tag must be nested inside of the form tag.
Attribute | Description | Accepts Scriptlet | Required |
---|---|---|---|
accesskey | See the “Common Tag Attributes” section at the end of this chapter. | Yes | No |
alt | See “Common Tag Attributes.” | Yes | No |
altKey | See “Common Tag Attributes.” | Yes | No |
cols | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of columns to display. | Yes | No |
disabled | See “Common Tag Attributes.” | Yes | No |
indexed | Accepts “true” to denote that the value assigned to the corresponding HTML tag’s name attribute will have an index (e.g., “name[x].property”).This attribute is applicable only when this tag is nested inside the Logic Tag Library’s iterate tag. | Yes | No |
name | Specifies the name of an object (in any scope) whose field, specified by the property attribute, will be used to populate this control with data. | Yes | No |
onblur | See “Common Tag Attributes.” | Yes | No |
onchange | See “Common Tag Attributes.” | Yes | No |
onclick | See “Common Tag Attributes.” | Yes | No |
ondblclick | See “Common Tag Attributes.” | Yes | No |
onfocus | See “Common Tag Attributes.” | Yes | No |
onkeydown | See “Common Tag Attributes.” | Yes | No |
onkeypress | See “Common Tag Attributes.” | Yes | No |
onkeyup | See “Common Tag Attributes.” | Yes | No |
onmousedown | See “Common Tag Attributes.” | Yes | No |
onmousemove | See “Common Tag Attributes.” | Yes | No |
onmouseout | See “Common Tag Attributes.” | Yes | No |
onmouseover | See “Common Tag Attributes.” | Yes | No |
onmouseup | See “Common Tag Attributes.” | Yes | No |
property | Specifies the value to set the corresponding HTML tag’s name attribute to.Additionally, this attribute is used to specify the field of the object specified by the name attribute whose getter method will be called to return an object whose value will be used to populate this control. If no object is specified with the name attribute, the Form Bean object associated with the enclosing form tag will be used to retrieve the property specified by this attribute. | Yes | Yes |
readonly | Same as the corresponding HTML tag’s attribute with the same name.Accepts “true” to denote that the control’s value will be read-only, preventing it from being changed. | Yes | No |
rows | Same as the corresponding HTML tag’s attribute with the same name.Specifies the number of rows to display. | Yes | No |
style | See “Common Tag Attributes.” | Yes | No |
styleClass | See “Common Tag Attributes.” | Yes | No |
styleId | See “Common Tag Attributes.” | Yes | No |
tabindex | See “Common Tag Attributes.” | Yes | No |
title | See “Common Tag Attributes.” | Yes | No |
titleKey | See “Common Tag Attributes.” | Yes | No |
value | Specifies a constant value that the control will be populated with. | Yes | No |
The following snippet illustrates the basic usage of the textarea tag:
<html:form action="/feedback"> Comments: <html:textarea property="comments"/><br> <html:submit/> </html:form>
This tag will look up the Form Bean associated with the Action specified by the form tag’s action attribute and then call the getter method for the field specified by this tag’s property attribute. The field’s value will then be used to populate the HTML control with data.
The xhtml tag causes the rest of the tags in the HTML Tag Library to generate their output as XHTML instead of HTML. For more information on XHTML, see http://www.w3.org/TR/xhtml1/.
Using this tag is equivalent to using this library’s html tag with the xhtml attribute set to “true”, as shown here:
<html:html xhtml="true"/>
This tag does not have any attributes.
Using the xhtml tag is very simple because it has no attributes that can or need to be set. You simply just use the tag as shown here:
<html:xhtml/>
You must place this tag before using any other tags from this library; otherwise, they will not know to generate XHTML. Note that using this tag will not guarantee that your JSP is 100 percent XHTML compliant; you must ensure that any direct usages of HTML tags also conform.
| < Day Day Up > |
|