<anyxmlelement xmlns:h="jakarta.faces.html"/>
Jakarta Faces HTML Tag Library
This tag library contains Jakarta Faces component tags for all UIComponent + HTML RenderKit Renderer combinations as defined in section 9.5 "Standard HTML RenderKit Tag Library" of the Jakarta Faces Specification Document.
Info | Value |
---|---|
ID (tag prefix) | h |
URI | jakarta.faces.html |
Tag | Description |
---|---|
button |
Render an HTML "input" element of type "button".
The value of the component is rendered as the button text and the outcome of the
component is used to determine the target URL which is activated by onclick. If
"image" attribute is specified, render it as the value of the "src" attribute after
passing it to the
getResourceURL() method of the ViewHandler
for this application, and passing the result through the encodeResourceURL()
method of the ExternalContext . Any child UIParameter components
are appended to the String to be used as the target URL as query parameters before rendering.
The entire target URL string must be passed through a call to the encodeResourceURL()
method of the ExternalContext . The name of the UIParameter goes on the
left hand side, and the value of the UIParameter on the right hand side. The name
and the value must be URLEncoded. Each UIParameter instance is separeted by an
ampersand, as dictated in the URL spec. The final encoded result will be written out to the
onclick attribute of the button as "window.location.href = ' |
link |
Render an HTML "a" anchor element. The value of the
component is rendered as the anchor text and the outcome of the component is used
to determine the target URL rendered in the "href" attribute. Any
child
UIParameter components are appended to the String to be
output as the value of the "href" attribute as query parameters
before rendering. The entire "href" string must be passed through
a call to the encodeResourceURL() method of the
ExternalContext . The name of the UIParameter goes on
the left hand side, and the value of the UIParameter on the right
hand side. The name and the value must be URLEncoded. Each
UIParameter instance is separated by an ampersand, as dictated in
the URL spec. If the "fragment" attribute is specified, the value will be
included at the end of the resulting URL preceded by a hash mark.
If the "styleClass" attribute is specified, render
its value as the value of the "class" attribute. If the "id" attribute
is specified, follow the same steps as mentioned in the
"General
Notes on Encoding" regarding the "id" attribute for UIInput components.
If the "disabled" attribute is specified, do not render the HTML "a"
anchor element or the "href" element. Instead, render a "span" element.
If the "styleClass" attribute is specified, render its value as the value
of the "class" attribute on the "span". Render any pass-through attributes
on the "span". |
head |
Render the markup for a Decode Behavior No action is required during decode for this renderer. Encode Behavior
Render the starting </head> element tag.
|
body |
Render the markup for a Decode Behavior No action is required during decode for this renderer. Encode Behavior
Render the starting Any attributes declared on the element must be passed through unmodified to the rendered output. |
commandButton |
Renders an HTML "input" element. Decode Behavior Obtain the Encode Behavior Render the clientId of the component as the value of the
"name"
attribute. Render the current value of the component as the value
of the "value" attribute. If "image" attribute is specified render
it as the value of the "src" attribute after passing it to the
If the component being rendered
by
this renderer has any |
commandLink |
Render an HTML "a" anchor element that acts like a form submit button when clicked. General Behaviour Both the encode and decode behavior require the ability to get the id/name for a hidden field, which may be rendered in markup or which may be programmatically added via client DOM manipulation, whose value is set by the JavaScript form submit. This name must be constructed as follows:
In the following text, this String is called hiddenFieldName. Decode Behavior Obtain the "clientId" property of the component. Obtain the
Encode Behavior If the value of the If the
document.forms['CLIENT_ID'].submit()" where hiddenFieldName is as described above, CLIENT_ID is the clientId of the UICommand component, PARAM*_NAME and PARAM*_VALUE are the names and values, respectively, of any nested UIParameter children. The name and the value must be URLEncoded. If an "onclick" attribute was specified by the user, render this JavaScript in a function, and render the user's JavaScript in a function. Render both functions in a choice function as follows:
where #USER_FUNCTION# is the user's JavaScript and #JSF_FUNCTION# is the JavaScript rendered by Faces. The choice function should operate such that if the user's JavaScript returns true, then the rendered JavaScript will also execute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. Render any non-UIParameter output children as normal inside of the "a" element. These will appear as the link text. Allow the form renderer to output a single "input" element (for the entire page, regardless of how many command link components are in the page) of "type" "hidden" whose "name" is the value of hiddenFieldName, and which must not have a "value" attribute. Multiple occurrences of command link components in the tree should not cause multiple hiddenFieldName hidden fields. Allow the form renderer to output an "input" element of "type" "hidden" for each of the nested UIParameter children, taking the name property (but not the value) from each one in turn. If the "disabled" attribute is specified, do not render the HTML "a" anchor element or its "href" attribute. Instead, render a "span" element. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute on the "span". Render any pass-through attributes on the "span". The content of the span element comes from the value of the component or its children as specified above. If the user specified a
Where TARGET is the value of the target attribute on the JSP tag. |
commandScript |
Render a JavaScript function that invokes Encode Behavior
Render an HTML
If the component being rendered has any
If the rendered JavaScript function is invoked with an object argument, each property must be
encoded into Decode Behavior
Obtain the |
dataTable |
Renders an HTML "table" element compliant with the HTML 401 specification. Render the "caption" facet, if present, inside a "caption" element immediately below the "table" element. If the "captionClass" attribute is specified, render its value as the value of the "class" attribute on the "caption" element. If the "captionStyle" attribute is specified, render its value as the value of the "style" attribute on the "caption" element. Please consult the javadoc for Column Groups If the Rendering the header If the If any of the child Close out the "thead" element. Rendering the footer Follow the same process as for the header, except replace "header" with "footer", "th" with "td", "thead" with "tfoot", and "headerClass" with "footerClass". Do not render any "scope" attribute for the footer. Rendering the table body Look at the value of the "bodyrows" attribute. If present, this must be a comma separated list of integers. Each entry in this list is the row index of the row before which a "tbody" element should be rendered. If there was no "bodyrows" attribute, or it was empty,
render a
"tbody" element. Keep track of the result of the "rows" property
on the Output a "tr" element. Output the value of the "rowClasses"
per the attribute description below. For each
When done rendering all the rows, set the "rowIndex"
property of
the |
form |
Renders an HTML "form" element.
Decode Behavior Obtain the 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 Obtain the 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.
Just before rendering the closing
</form>
element tag, render
any resources that have been targeted for this form:
|
graphicImage |
Renders an HTML "img" element. Render the clientId as the value of the "id" attribute. Handling the Value If the "name" attribute is present, execute algorithm Common
Algorithm for Obtaining A Resource to Render to obtain a
Otherwise, if the "url" attribute is present, treat its
value as
if it was the value of the "value" attribute. Otherwise, if the
"value" attribute is present, render the value of the component as
the value of the "src" attribute, after passing it to the
When handling the "src" attribute,
the value must not be escaped. For example, |
inputHidden |
Renders an HTML "input" element of type "hidden". Decode Behavior See the decode description for the Input Text renderer. Encode Behavior Render the clientId of the component as the value of the "name" attribute. Render the current value of the component as the value of the "value" attribute. |
inputSecret |
Renders an HTML "input" element of "type" "password". Decode Behavior See the decode description for the Input Text renderer. Encode Behavior Render the clientId of the component as the value of the "name" attribute. Render the current value of the component as the value of the "value" attribute, if and only if the "redisplay" component attribute is the string "true". If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. |
inputText |
Renders an HTML "input" element of "type" "text". Obtain the Encode Behavior Render the clientId of the component as the value of the "name" attribute. Render the current value of the component as the value of the "value" attribute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. |
inputTextarea |
Renders an HTML "textarea" element. Decode Behavior See the encode description for the Input Text renderer. Encode Behavior Render the clientId as the value of the "name" attribute. Render the current valu eof the component inside the "textarea" element. |
message |
Render a single message for a specific component. Set-up for Rendering Obtain the "summary" and "detail" properties from
Rendering For the message renderer, we only render one row, for the
first
message. For the messages renderer, we render as many rows as we
have messages. If any of the "dir", "lang", "style" or
"styleClass" attributes has a non-null value (as determined
above), render a "span" element, outputting the value of the
"style" attribute as the the value of the "style" attribute, and
outputting the value of the "styleClass" attribute as the value of
the "class" attribute on the "span" element. Output the "dir" and
"lang" attributes as well, if they are present. If the
|
messages |
The
same as for the
Message renderer, but output all the messages. If an "id" attribute has been
specified,
it must be rendered on the outermost markup corresponding to this
component. If the value of the "layout" attribute is
"table", render nested "table", "tr", and "td" elements, in that
order. If the value of the "layout" attribute is "list", or the
"layout" attribute is not specified, render nested "ul", "li"
elements, in that order. Output the value of the "style" attribute
as the value of the "style" attribute, output the value of the
"styleClass" attribute as the value of the "class" attribute, and
output the dir and lang attributes. Output these values on the
"table" element or the "ul" element. Output the values of the
"errorStyle", "fatalStyle", "infoStyle", "warnStyle" attributes as
the value of the "style" attribute on either the "tr" element or
the "li" element. Output the values of the "errorClass",
"fatalClass", "infoClass", "warnClass" attributes as the value of
the "class" attribute on either the "tr" element or the "li"
element. The component is a If an h:form does not contain a h:messages tag and the ProjectStage is set to Development the runtime will automatically add h:messages for debugging purposes. |
outputFormat |
Render parameterized text. Obtain the
|
outputLabel | Renders an HTML "label" element. Render the current value of the component as label text if it is specified. If a "for" attribute is specified, find the component specified by the value of the "for" attribute, and render its client id as the value of the "for" attribute. If "styleClass" attribute is specified, render its value as the value of the "class" attribute. |
outputLink |
Render an HTML "a" anchor element. The value of the
component is rendered as the value of the "href" attribute. Any
child UIParameter components are appended to the String to be
output as the value of the "href" attribute as query parameters
before rendering. The entire "href" string must be passed through
a call to the encodeResourceURL() method of
the
ExternalContext . The name of the
UIParameter goes on
the left hand side, and the value of the UIParameter on the right
hand side. The name and the value must be URLEncoded. Each
UIParameter instance is separeted by an ampersand, as dictated in
the URL spec. If the "styleClass" attribute is specified, render
its value as the value of the "class" attribute. If the "id"
attribute
is specified, follow the same steps as mentioned in the
"General
Notes on Encoding" regarding the "id" attribute for
UIInput components.
If the "disabled" attribute is specified, do not render the HTML "a"
anchor element or the "href" element. Instead, render a "span"
element.
If the "styleClass" attribute is specified, render its value as the
value
of the "class" attribute on the "span". Render any pass-through
attributes
on the "span".
|
outputStylesheet |
Render the markup for a Decode Behavior No action is required during decode for this renderer. Encode Behavior Use the algorithm Common Encode Behavior for
For Output a The implementation of this renderer must have a The stylsheet renderer must ensure that any stylesheets are included in the <head> of the document. |
outputText | If the "styleClass", "style", "dir" or "lang" attributes are present, render a "span" element. If the "styleClass" attribute is present, render its value as the value of the "class" attribute. If the "style" attribute is present, pass it thru. If the "escape" attribute is not present, or it is present and its value is "true" all angle brackets should be converted to the ampersand xx semicolon syntax when rendering the value of the "value" attribute as the value of the component. If the "escape" attribute is present and is "false" the value of the component should be rendered as text without escaping. |
outputScript |
Render the markup for a The implementation of this renderer must have a Decode Behavior No action is required during decode for this renderer. Encode Behavior
Common Algorithm for Obtaining A Resource to Render This algorithm is used by all resource renderers to obtain
a This algorithm is used by all resource renderers to render the resource.
Because this renderer returns
Use the algorithm Common Encode Behavior for
For If this is NOT the first time this Render a script element. Use the result from calling
|
panelGrid |
Renders an HTML "table" element, conforming to the
rules in the HTML 401 specification. Render the "caption" facet,
if present, inside a "caption" element immediately below the "table"
element.
If the "captionClass" attribute is specified, render its value as
the value
of the "class" attribute on the "caption" element. If the
"captionStyle" attribute
is specified, render its value as the value of the "style" attribute
on the "caption" element. If the "styleClass" attribute is
specified, render
its value as the value of the "class" attribute. Render the
pass-through
attributes in the table below. Render the "header" facet, if
present, inside of
"thead", "tr", and "th" elements, nested in that order. If the
"headerClass" attribute is specifed, render its value as the value
of the "class" attribute on the "th" element. Render "colgroup"
as the value of the "scope" attribute. Render the value of the
"columns" attribute as the value of the "colspan" attribute on the
"th" element. Render the "footer" facet if present, using similar
logic to the rendering of the "header", but replacing "thead" with
"tfoot", "th" with "td", and "headerClass" with "footerClass".
Render the children of the UIPanel
component inside
of a "tbody" element. Render the children based on the value of
the "columns" attribute, creating a new row each time a "columns"
worth of children have been rendered. For the start of each row,
render a "tr" element. Output the value of the "rowClasses" per
the attribute description below. For each child, output a "td"
element, attaching the value of the "columnClasses" attribute per
the attribute description below. Recursively encode each child.
Close out the "td" element. When done with the row, close out the
"tr" element. If a child has "rendered==false" it is not rendered,
and the column counter must not be incremented.
|
panelGroup | Intended for use in situations when only one UIComponent child can be nested, such as in the case of facets. If the "style" or "styleClass" attributes are present, and the "layout" attribute is present with a value of "block", render a "div" element, outputting the value of the "style" attribute as the value of the "style" attribute and the value of the "styleClass" attribute as the value of the "class" attribute. Otherwise, if the "layout" attribute is not present, or the "layout" attribute contains a value other than "block", render a "span" element, outputting the value of the "style" attribute as the value of the "style" attribute, and the value of the "styleClass" attribute as the value of the "class" attribute. |
selectBooleanCheckbox |
Renders an HTML "input" element of type "checkbox". Decode Behavior Obtain the Encode Behavior Render the clientId of the component as the value of the "name" attribute. If the current value of the component is "true", output the "checked" attribute (must be rendered as checked="checked"). If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. |
selectManyCheckbox |
Render an HTML checkbox list. See the "Decode Behavior for UISelectMany Components" section. Encode Behavior If the "layout"
attribute is specified, and its value is "list", render a "ul"
element as root element, otherwise
render a "table" element. If the "styleClass" is specified,
render the value of the "styleClass" attribute as the value of the
"class" attribute on the root element. If the "style", or
"border" attributes are specified, pass them thru and render their values as the "style"
and "border" attributes on the root element, respectively.
If
the "layout" attribute is specified, and its value is
"pageDirection", render the children elements vertically,
otherwise horizontally, in the root element. If any of the children are
an instance of SelectItemGroup, render them as a nested root element.
Each of the children are ultimately rendererd as follows. Render
an "input" element of "type" "checkbox" for each child component.
Render the "name" attribute on the "input" element with the value
of the |
selectManyListbox |
Render an HTML option list. Decode Behavior This section documents the decode behavior for all
renderers
that handle Decode Behavior for
Obtain the Please check the javadoc for UISelectMany.getConvertedValue() for additional requirements for renderers that render this kind of component. Decode Behavior for
Obtain the Encode Behavior Render an HTML "select" element. Render the clientId of
the component as the value of the "name" attribute. If the
"styleClass"
attribute is specified, render its value as the value of the "class"
attribute on the "select" element. If the component is a
Rendering the "option" elements The only valid children of this component are
Iterate over the list of |
selectManyMenu |
Render an HTML option list. See the "Decode Behavior for UISelectMany Components" section. Encode Behavior Render an HTML "select" element. Render the clientId of
the component as the value of the "name" attribute. If the
"styleClass"
attribute is specified, render its value as the value of the "class"
attribute on the "select" element. If the component
to be rendered is a UISelectMany, render "multiple" as the value of
the "multiple" attribute. Render "1" as the value of the "size"
attribute. See the "Rendering the option
elements" specification for |
selectOneListbox |
Render an HTML option list. See the "Decode Behavior for UISelectOne Components" section. Encode Behavior Render an HTML "select" element. Render the clientId of
the component as the value of the "name" attribute. If the
"styleClass"
attribute is specified, render its value as the value of the "class"
attribute on the "select" element. If the component
to be rendered is a UISelectMany, render "multiple" as the value of
the "multiple" attribute. If the "size" attribute is specified,
render its value as the value of the "size" attribute. Otherwise
use the number of items as the value of the "size" attribute. See
the "Rendering the option
elements" specification for |
selectOneMenu |
Render an HTML option list. See the "Decode Behavior for UISelectOne Components" section. Encode Behavior Render an HTML "select" element. Render the clientId of the
component as the value of the "name" attribute. If the
"styleClass" attribute is specified, render its value as the value
of the "class" attribute on the "select" element. If the component
to be rendered is a UISelectMany, render "true" as the value of
the "multiple" attribute. Use the number of items as the value of
the "size" attribute. See the "Rendering
the option elements" specification for
|
selectOneRadio |
Render a set of html "input" elements of type "radio".
|
column |
Renders a UIComponent that represents a single column of
data within a parent |
inputFile |
Renders an HTML "input" element of "type" "file". The standard HTML_BASIC RenderKit specifies behavior that assumes Servlet 3.0 or later. Portlet implementations must override this implementation with a semantically equivalent one that functions under the constraints of the Portlet specification. Obtain the The standard implementation must override the
Any exception thrown when interacting with the underlying
multi-part API must be wrapped in a Encode Behavior Render the clientId of the component as the value of the "name" attribute. Do not render the "value" attribute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. If |
doctype |
Render the markup for
a Decode Behavior No action is required during decode for this renderer. Encode Behavior Output an XML Doctype using the provided attributes. Output the
literal text No relocation occurs with the output of this component. It is rendered at whatever position in the view hierarchy it happens to be encountered when traversing the view to render. Therefore, this component must be located in the view hierarchy at the correct location so that the final rendered markup has it in the proper place with respect to the user agent that consumes the rendered markup. In practice this means in front of the <html> or <h:html> element. Furthermore, if multiple <h:doctype> components exist, all of them will be rendered. If this component is present in a view, any DOCTYPE that would otherwise have been rendered by virtue of being present in the VDL page must be ignored. |