Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > UI Tag Reference > form |

Apache Struts 2 Documentation
form
Edit Page Browse Space Add Page Add News
Icon

Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.

## Description

Renders HTML an input form.

The remote form allows the form to be submitted without the page being refreshed. The results from the form can be inserted into any HTML element on the page.

NOTE:

The order / logic in determining the posting url of the generated HTML form is as follows:-

1. If the action attribute is not specified, then the current request will be used to determine the posting url
2. If the action is given, Struts will try to obtain an ActionConfig. This will be successfull if the action attribute is a valid action alias defined struts.xml.
3. If the action is given and is not an action alias defined in struts.xml, Struts will used the action attribute as if it is the posting url, separting the namespace from it and using UrlHelper to generate the final url.

## Parameters

#### Dynamic Attributes Allowed: true
#### Name | #### Required | #### Default | #### Evaluated | #### Type | #### Description
--- | --- | --- | --- | --- | ---
acceptcharset | false |  | false | String | The accepted charsets for this form. The values may be comma or blank delimited.
accesskey | false |  | false | String | Set the html accesskey attribute on rendered html element
action | false | current action | false | String | Set action name to submit to, without .action suffix
cssClass | false |  | false | String | The css class to use for element
cssErrorClass | false |  | false | String | The css error class to use for element
cssErrorStyle | false |  | false | String | The css error style definitions for element to use
cssStyle | false |  | false | String | The css style definitions for element to use
disabled | false |  | false | String | Set the html disabled attribute on rendered html element
enctype | false |  | false | String | HTML form enctype attribute
errorPosition | false |  | false | String | Define error position of form element (top|bottom)
focusElement | false |  | false | String | Id of element that will receive the focus when page loads.
id | false |  | false | String | HTML id attribute
includeContext | false | true | false | Boolean | Whether actual context should be included in URL
javascriptTooltip | false | false | false | Boolean | Use JavaScript to generate tooltips
key | false |  | false | String | Set the key (name, value, label) for this particular component
label | false |  | false | String | Label expression used for rendering an element specific label
labelSeparator | false | : | false | String | String that will be appended to the label
labelposition | false |  | false | String | Define label position of form element (top/left)
method | false |  | false | String | HTML form method attribute
name | false |  | false | String | The name to set for element
namespace | false | current namespace | false | String | Namespace for action to submit to
onblur | false |  | false | String | Set the html onblur attribute on rendered html element
onchange | false |  | false | String | Set the html onchange attribute on rendered html element
onclick | false |  | false | String | Set the html onclick attribute on rendered html element
ondblclick | false |  | false | String | Set the html ondblclick attribute on rendered html element
onfocus | false |  | false | String | Set the html onfocus attribute on rendered html element
onkeydown | false |  | false | String | Set the html onkeydown attribute on rendered html element
onkeypress | false |  | false | String | Set the html onkeypress attribute on rendered html element
onkeyup | false |  | false | String | Set the html onkeyup attribute on rendered html element
onmousedown | false |  | false | String | Set the html onmousedown attribute on rendered html element
onmousemove | false |  | false | String | Set the html onmousemove attribute on rendered html element
onmouseout | false |  | false | String | Set the html onmouseout attribute on rendered html element
onmouseover | false |  | false | String | Set the html onmouseover attribute on rendered html element
onmouseup | false |  | false | String | Set the html onmouseup attribute on rendered html element
onreset | false |  | false | String | HTML onreset attribute
onselect | false |  | false | String | Set the html onselect attribute on rendered html element
onsubmit | false |  | false | String | HTML onsubmit attribute
openTemplate | false |  | false | String | Set template to use for opening the rendered html.
portletMode | false |  | false | String | The portlet mode to display after the form submit
requiredLabel | false | false | false | Boolean | If set to true, the rendered element will indicate that input is required
requiredPosition | false |  | false | String | Define required position of required form element (left|right)
tabindex | false |  | false | String | Set the html tabindex attribute on rendered html element
target | false |  | false | String | HTML form target attribute
template | false |  | false | String | The template (other than default) to use for rendering the element
templateDir | false |  | false | String | The template directory.
theme | false |  | false | String | The theme (other than default) to use for rendering the element
title | false |  | false | String | Set the html title attribute on rendered html element
tooltip | false |  | false | String | Set the tooltip of this particular component
tooltipConfig | false |  | false | String | Deprecated. Use individual tooltip configuration attributes instead.
tooltipCssClass | false | StrutsTTClassic | false | String | CSS class applied to JavaScrip tooltips
tooltipDelay | false | Classic | false | String | Delay in milliseconds, before showing JavaScript tooltips
tooltipIconPath | false |  | false | String | Icon path used for image that will have the tooltip
validate | false | false | false | Boolean | Whether client side/remote validation should be performed. Only useful with theme xhtml/ajax
value | false |  | false | String | Preset the value of input element.
windowState | false |  | false | String | The window state to display after the form submit

## Examples

## Validation

There are two flavours Client Side Validation, depending on the theme you are using (xhtml, ajax, etc). If you are using the xhtml theme or css_xhtml theme, pure client side validation will be used. If you are using the ajax theme, a special AJAX-based validation will take place. Read the Client Side Validation docs for more information.