Renders an HTML "form" element.
Decode Behavior
Obtain the Map
from the "requestParameterMap"
property of the ExternalContext
. If the map contains
an entry for the "clientId" of this UIForm
component,
call setSubmitted(true)
on the form, otherwise call
setSubmitted(false)
on the form.
Encode Behavior
The value of the "method" attribute must be "post". The value
of the "action" attribute must be the result of passing the view
identifier of the current view to the getActionURL()
method of the ViewHandler
for this application, then
passing that String to the encodeActionURL()
method
on the ExternalContext
. The value of the acceptcharset
attribute must be rendered as the value of "accept-charset".
If the "styleClass" attribute is specified, render its value as the
value of the "class" attribute. Render a "name"
attribute with a value the same as the "id" attribute as described
in "General Notes on
Encoding" regarding the "id" attribute for UIInput
components.
Obtain the UIViewRoot view identifier
and
use it to obtain an action URL
by calling ViewHandler.getActionURL
.
Use the action URL
to obtain an encoded action URL
by calling
ExternalContext.encodeActionURL
. Obtain an
encoded partial action URL
by calling
ExternalContext.encodePartialActionURL
using action URL
as the argument.
Compare the result from ExternalContext.encodePartialActionURL
with the
value from ExternalContext.encodeActionURL()
. If they are different,
render a hidden field with the name javax.faces.encodedURL
and the value
of this hidden field as the value from ExternalContext.encodePartialActionURL
.
ViewHandler.writeState()
before the the close of the "form" element.
Render all the necessary hidden fields
for all commandLink instances in the page just before the close of the "form" element.
</form>
element tag, render
any resources that have been targeted for this form:
UIViewRoot
instance.List
of component resources targeted for
this form with a call to UIViewRoot.getComponentResources()
with the String "form"
as the argument.List
of UIComponent
instances
and call encodeAll
on each UIComponent
instance.
This renderer is responsible for rendering its children.
Attributes with a ignored-by-renderer
value of
true
are not interpreted by the renderer and are conveyed
straight to the rendered markup, without checking for validity. Attributes with a
ignored-by-renderer
value of false
are interpreted
by the renderer, and may or may not be checked for validity by the renderer.
Attributes | |||||
attribute-name | ignored-by-renderer | attribute-class | description | default-value | |
---|---|---|---|---|---|
accept
|
true | java.lang.String |
List of content types that a server processing this form will handle correctly | undefined | |
acceptcharset
|
false | java.lang.String |
List of character encodings for input data that are accepted by the server processing this form. | undefined | |
dir
|
true | java.lang.String |
Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). These attributes are case sensitive when rendering to XHTML, so care must be taken to have the correct case. | undefined | |
enctype
|
true | java.lang.String |
Content type used to submit the form to the server. If not specified, the default value is "application/x-www-form-urlencoded". | "application/x-www-form-urlencoded" | |
lang
|
true | java.lang.String |
Code describing the language used in the generated markup for this component. | undefined | |
onclick
|
true | java.lang.String |
Javascript code executed when a pointer button is clicked over this element. | undefined | |
ondblclick
|
true | java.lang.String |
Javascript code executed when a pointer button is double clicked over this element. | undefined | |
onkeydown
|
true | java.lang.String |
Javascript code executed when a key is pressed down over this element. | undefined | |
onkeypress
|
true | java.lang.String |
Javascript code executed when a key is pressed and released over this element. | undefined | |
onkeyup
|
true | java.lang.String |
Javascript code executed when a key is released over this element. | undefined | |
onmousedown
|
true | java.lang.String |
Javascript code executed when a pointer button is pressed down over this element. | undefined | |
onmousemove
|
true | java.lang.String |
Javascript code executed when a pointer button is moved within this element. | undefined | |
onmouseout
|
true | java.lang.String |
Javascript code executed when a pointer button is moved away from this element. | undefined | |
onmouseover
|
true | java.lang.String |
Javascript code executed when a pointer button is moved onto this element. | undefined | |
onmouseup
|
true | java.lang.String |
Javascript code executed when a pointer button is released over this element. | undefined | |
onreset
|
true | java.lang.String |
Javascript code executed when this form is reset. | undefined | |
onsubmit
|
true | java.lang.String |
Javascript code executed when this form is submitted. | undefined | |
role
|
true | java.lang.String |
Per the WAI-ARIA spec and its relationship to HTML5 (Section title ARIA Role Attriubute), every HTML element may have a "role" attribute whose value must be passed through unmodified on the element on which it is declared in the final rendered markup. The attribute, if specified, must have a value that is a string literal that is, or an EL Expression that evaluates to, a set of space-separated tokens representing the various WAI-ARIA roles that the element belongs to. It is the page author's responsibility to ensure that the user agent is capable of correctly interpreting the value of this attribute. |
undefined | |
style
|
true | java.lang.String |
CSS style(s) to be applied when this component is rendered. | undefined | |
styleClass
|
false | java.lang.String |
Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup. | undefined | |
target
|
true | java.lang.String |
Name of a frame where the response retrieved after this form submit is to be displayed. | undefined | |
title
|
true | java.lang.String |
Advisory title information about markup elements generated for this component. | undefined |