1. Overview Library Tag Help
FRAMES NO FRAMES All Tags
Tag Library Documentation Generator - Generated
Documentation
Tag Libraries
h This tag library contains JavaServer Faces component tags
for all UIComponent + HTML RenderKit Renderer
combinations defined in the JavaServer Faces
Specification.
f The core JavaServer Faces custom actions that are
independent of any particular RenderKit.
2. Overview Library Tag Help
FRAMES NO FRAMES All Tags
“h”
Standard Syntax:
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
XML Syntax:
<anyxmlelement xmlns:h="http://java.sun.com/jsf/html" />
This tag library contains JavaServer Faces component tags for all
UIComponent + HTML RenderKit Renderer combinations defined in the
JavaServer Faces Specification.
Tag Library Information
Display Name None
Version 1.2
Short Name h
URI http://java.sun.com/jsf/html
Tag Summary
commandButton Renders an HTML "input" element.
Decode Behavior
Obtain the Map from the "requestParameterMap" property of
the ExternalContext. If the value in the Map for the value of
the "clientId" property of the component is null, create a
String by concatenating the value of the "clientId" property of
the component with the String ".x" (without the quotes).
Create another String in the same manner, but concatenate
".y" (without the quotes). If null is the value in the Map for
both Strings, return from decode(). If the value in the Map for
the value of the "clientId" property of the component is not
null, get the value of the "type" attribute, and convert it to
lower case. If the result is equal to the String "reset" (without
the quotes), return from decode(). Otherwise, create a
javax.faces.event.ActionEvent around the component,
and pass it to the queueEvent() method of the component,
which must be an instance of UICommand.
Encode Behavior
Render the clientId of the component as the value of the
"name" attribute. Render the current value of the component
3. 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 getResourceURL() method of the
ViewHandler for this application, and passing the result
through the encodeResourceURL() method of the
ExternalContext. When handling the "image" attribute, the
value must not be escaped. For example, & must not be turned
into &. If the "styleClass" attribute is specified, render its
value as the value of the "class" attribute. If the user has
specified an "onclick" attribute, append that JavaScript to any
existing JavaScript before rendering.
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 whose value is set by the JavaScript form
submit. This name must be constructed as follows:
• Get the clientId for the form of which this component is a
child.
• Append NamingContainer.SEPARATOR_CHAR.
• Append a constant string that is the same for all command
link components in the tree.
In the following text, this String is called hiddenFieldName.
Decode Behavior
Obtain the "clientId" property of the component. Obtain the
Map from the "requestParameterMap" property of the
ExternalContext. Derive hiddenFieldName as above. Get
the entry in the Map under the key that is the
hiddenFieldName. If the there is no entry, or the entry is the
empty String, or the entry is not equal to the value of the
"clientId" property, return immediately. If there is an entry,
and its value is equal to the value of the "clientId" property,
create a new javax.faces.event.ActionEvent instance
around the component and call queueActionEvent() on the
component, passing the event.
Encode Behavior
If the value of the disabled attribute is true, render a span
element. Render all the passthru attributes and the target
attribute as pass-through attributes on the span, even though
4. the target attribute will have no effect on a span. Render the
current value of the component as the content of the span.
Return.
If the disabled attribute is not present, or its value is false,
render an HTML a element. Render "#" as the value of the
"href" attribute. Render the current value of the component as
the link text if it is specified. Render JavaScript that is
functionally equivalent to the following as the value of the
"onclick" attribute:
document.forms['CLIENT_ID']
['hiddenFieldName'].value='CLIENT_ID';
document.forms['CLIENT_ID']
['PARAM1_NAME'].value='PARAM1_VALUE';
document.forms['CLIENT_ID']
['PARAM2_NAME'].value='PARAM2_VALUE'; return
false;
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:
var a=function(){#USER_FUNCTION#}; var
b=function(){#JSF_FUNCTION#}; return (a()==false)
? false : b();
where #USER_FUNCTION# is the user's JavaScript and
#JSF_FUNCTION# is the JavaScript rendered by JSF. 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
5. 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 target attribute, its value must be set
using javascript since the onclick handler will prevent the
target attribute from being generated. This must be
accomplished using JavaScript that is equivalent to the
following.
document.forms['CLIENT_ID'].target='TARGET';
Where TARGET is the value of the target attribute on the JSP
tag.
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 UIData to supplement this
specification. If the "styleClass" attribute is specified, render its value
as the value of the "class" attribute on the "table" element. Any pass-
through attributes are also rendered on the "table" element.
Rendering the header
If the UIData component has a "header" facet, or any of the
child UIColumn components has a "header" facet, render a
"thead" element. If the UIData component has a "header"
facet, encode its contents inside of "tr" and "th" elements,
respectively. Output the value of the "headerClass" attribute
of the UIData component, if present, as the value of the
"class" attribute on the "th". Output the number of child
UIColumn components of the UIData component as the value
of the "colspan" attribute on the "th". Output "colgroup" as
the value of the "scope" attribute on the "th" element.
If any of the child UIColumn components has a "header" facet
render a "tr" element. For each UIColumn that actually has a
6. "header" facet, render it inside of a "th" element. Columns
that don't have a "header" facet cause an empty "th" element
to be rendered. Output the value of the "headerClass" attribute
of the UIColumn component, if present, as the value of the
"class" attribute on the "th". If the "headerClass" attribute of
the UIColumn component is not present, output the value of
the "headerClass" attribute of the UIData component, if
present, as the value of the "class" attribute on the "th".
Output "col" as the value of the "scope" attribute on the "th"
element.
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
Render a "tbody" element. Keep track of the result of the
"rows" property on the UIData component. Keep track of the
number of rows we have rendered so far. Iterate through the
rows. Set the "rowIndex" property of the UIData component
to be correct as we iterate through the rows. Stop rendering
children and close out the "tbody" element if the
"rowAvailable" property of the UIData returned false. Output
a "tr" element. Output the value of the "rowClasses" per the
attribute description below. For each UIColumn child, output a
"td" element, attaching the value of the "columnClasses"
attribute of the UIData component per the attribute
description below. Recursively encode each child of each
UIColumn child. Close out the "td" element. When done with
the row, close out the "tr" element. When done with all the
rows, close out the "tbody" element.
When done rendering all the rows, set the "rowIndex" property of the
UIData to -1, and close out the "table" element.
form 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
7. 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. Call 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. 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.
Renders an HTML "img" element. Render the clientId as the value of
the "id" attribute. Render the value of the component as the value of
the "src" attribute, after passing it to the getResourceURL() method
of the ViewHandler for this application, and passing the result
graphicImage through the encodeResourceURL() method of the
ExternalContext. When handling the "src" attribute, the value must
not be escaped. For example, & must not be turned into &. If the
"styleClass" attribute is specified, render its value as the value of the
"class" attribute.
Renders an HTML "input" element of type "hidden".
Decode Behavior
See the decode description for the Input Text renderer.
inputHidden
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.
8. 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.
Renders an HTML "input" element of "type" "text".
Decode Behavior
Obtain the Map from the "requestParameterMap" property of
the ExternalContext. If the Map contains an entry for the
"clientId" of the component, pass the value of the entry to the
setSubmittedValue() method of the component, which
inputText must be an instance of EditableValueHolder.
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.
Renders an HTML "textarea" element.
Decode Behavior
See the encode description for the Input Text renderer.
inputTextarea
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
UIMessage component. If not present, keep the empty string
as the value, respectively. Obtain the first FacesMessage to
render from the component, using the "for" property of the
UIMessage. This will be the only message we render. Obtain
the severity style for this message. If the severity of the
message is FacesMessage.SEVERITY_INFO, the severity style
9. comes from the value of the "infoStyle" attribute. If the
severity of the message is FacesMessage.SEVERITY_WARN,
the severity style comes from the value of the "warnStyle"
attribute, and so on for each of the severities, INFO, WARN,
ERROR and FATAL. The same rules apply for obtaining the
severity style class, but instead of "infoStyle, warnStyle", etc
use "infoClass, warnClass", etc. Obtain the "style",
"styleClass" and "layout" attributes from the UIMessage
component. If we have a "style" attribute and a severity style
attribute, use the severity style attribute as the value of the
"style" attribute. If we have no "style" attribute, but do have a
severity style, use the severity style as the value of the "style"
attribute. The same precedence rules apply for the style class.
Obtain the value of the dir and lang attributes.
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
UIMessage has a "tooltip" attribute with the value of "true",
and the UIMessage has "showSummary" and "showDetail"
properties with the value "true", if we haven't already written
out the "span", output the "summary" as the value of the
"title" attribute on the "span". If we haven't already written
out a "title" attribute, and "showSummary" is true, output the
summary. If "showDetail" is true, output the detail. Close out
the span if necessary.
The same as for the Message renderer, but output all the messages. 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
messages 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. The component is a UIMessages, and
there is no "for" attribute. Therefore, use either null to obtain the
messages from the FacesContext or the empty string if the
components "globalOnly" property is true. If the layout was "table"
close out the table elements, otherwise, close out the list elements.
10. Render parameterized text. Obtain the style, styleClass, dir, and
lang attributees from this component. If any are present, render a
"span" element. Output the styleClass attribute (if present) as the
value of the class attribute. Output the style attribute as the value
of the style attribute. Output the dir and lang attributes as pass
through attributes. Accrue a list of the values of all child
outputFormat
UIParameter components of this component. If there are one or
more accumulated parameter values, convert the list of parameter
values to an Object array, call MessageFormat.format(), passing
the value of this component as the first argument, and the array of
parameter values as the second argument, and render the result.
Otherwise, render the value of this component unmodified.
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"
outputLabel
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.
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
outputLink
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".
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
outputText 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.
panelGrid Renders an HTML "table" element, conforming to the rules in the
HTML 401 specification. Render the "caption" facet, if present,
11. 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. Each child is rendered inside of a "td" element. If a
child has "rendered==false" it is not rendered, and the column
counter must not be incremented.
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
panelGroup 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.
selectBooleanCh Renders an HTML "input" element of type "checkbox".
eckbox
Decode Behavior
Obtain the Map from the "requestParameterMap" property of
the ExternalContext. If there is no entry in the Map for the
"clientId" of this component, pass "false" to the
setSubmittedValue() method of the component, which
must be an instance of EditableValueHolder. If there is an
entry, and its value is equal, ignoring case and without quotes,
to any of the Strings: "on", "yes" or "true" pass true to the
setSubmittedValue() method of the component.
Encode Behavior
Render the clientId of the component as the value of the
12. "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.
Render an HTML checkbox list.
Decode Behavior
See the "Decode Behavior for UISelectMany Components"
section.
Encode Behavior
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 "table" element. If the "style",
"border" attributes are specified, pass them thru. If the
"layout" attribute is specified, and its value is
"pageDirection", render the children elements vertically,
otherwise horizontally, in the table. If any of the children are
an instance of SelectItemGroup, render them as a nested
table. 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
selectManyChec
"input" element with the value of the clientId of the
kbox
component. Render an "id" attribute on the "input" element.
Each "id" value must be unique. If the current
SelectItem.isDisabled() returns true, render "disabled" as the
value of the "disabled" attribute. Close out the "input"
element. Render a "label" element. Render the "for" attribute
of the "label" element whose value is the corresponding
"input" element's "id" value. Render any "style" as the "class"
attribute on the "label" element. Close out the starting "label"
element and render the label value from
SelectItem.getLabel(). Close out the "label" element. As an
exception to the general rules about how to handle the "id"
attribute, render it as an attribute on the outer "table" element,
the value of which is the clientId of the component per the
rules at the beginning of this specification. The value of the
current SelectItem is rendered as the value of the "value"
attribute. If the value of the enclosing UISelectMany matches
the current value, render "checked" as the value of the
"checked" attribute. See the "Rendering the option elements"
specification for ListboxRenderer for more detail on how to
render the "option" elements in this renderer.
selectManyListb Render an HTML option list.
ox
13. Decode Behavior
This section documents the decode behavior for all renderers that
handle UISelectMany or UISelectOne components.
Decode Behavior for UISelectMany components
Obtain the Map from the
"requestParameterValuesMap" property of the
ExternalContext. If the Map contains an entry for the
"clientId" of the component, pass the value of the
entry, cast to a String [], to the
setSubmittedValue() method of the component,
which must be an EditableValueHolder. If the Map
does not contain an entry, create an empty String
array and call setSubmittedValue() with it.
Decode Behavior for UISelectOne components
Obtain the Map from the "requestParameterMap"
property of the ExternalContext. If there is a Map
entry for the "clientId" property of the component,
pass it to the setSubmittedValue() method of the
component.
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
UISelectMany instance, 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.
Rendering the "option" elements
The only valid children of this component are
UISelectItem or UISelectItems instances. Iterate
over the children of this component, and accrue a list
of javax.faces.model.SelectItem instances. If the
current child is a UISelectItem create a
SelectIteminstance from its itemValue, itemLabel
and itemDescription properties, add it to the list. If
the current child is a UISelectItems instance, call its
14. getValue() method. If the result is a SelectItem
bean, add it to the list. If the result is an array of
SelectItem beans, add each one t othe list. If the
result is a Collection of SelectItem beans, add
each one to the list. If the result isa Map, create a
SelectItem bean for each entry in the Map using the
key as the label, the value as the value, and null as
the description. Iterate over the list of SelectItem
beans. If the current element is a SelectItemGroup,
render an "optgroup" element with a "label" attribute,
the value of which is the "label" property from the
current element, then call getSelectItems() and
render each element as below. If the current element is
not a SelectItemGroup, render an "option" element.
Follow the conversion rules in the spec to obtain a
renderable String from the "value" property of the
current element, render that as the value of the "value"
atribute. Now it is time to see if the current element is
the selected value. call its getSubmittedValue()
method, casting the result to an Object [], otherwise
the component must be a UISelectOne instance, call
its getSubmittedValue() method and create an
Object [] around the result. If the resultant array is
non-null, we look in the array for a value that, when
we pass the renderable value to its equals() method,
it returns true, meaning the current element is
selected. If the resultant array is null, if the
component is a UISelectMany, call its getValue()
method. If the result is a List obtain the values in the
list as an array. Otherwise, the component must be a
UISelectOne instance. Call its getValue() method,
which must be an Object array. Look for an element in
the resultant array that, 1. when we pass the
renderable value to its equals() method, it returns
true , or 2. if the renderable value is null, and there is
a null element in the array, also conclude that the
current element is selected. Otherwise the current
element is not selected. Now, if the current value is
selected, write out an HTML boolean property
"selected". If the current SelectItem.isDisabled()
returns true, render "disabled" as the value of the
"disabled" attribute.
selectManyMenu Render an HTML option list.
Decode Behavior
See the "Decode Behavior for UISelectMany Components"
15. 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 ListboxRenderer for
more detail on how to render the "option" elements in this
renderer.
Render an HTML option list.
Decode Behavior
See the "Decode Behavior for UISelectOne Components"
section.
Encode Behavior
Render an HTML "select" element. Render the clientId of the
selectOneListbox
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 ListboxRenderer for more detail on how to
render the "option" elements in this renderer.
selectOneMenu Render an HTML option list.
Decode Behavior
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
16. 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 ListboxRenderer for
more detail on how to render the "option" elements in this
renderer.
Render a set of html "input" elements of type "radio".
Decode Behavior
See the "Decode Behavior for UISelectOne Components"
section.
Encode Behavior
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 "table" element. If the "style",
"border" attributes are specified, pass them thru. If the
"layout" attribute is specified, and its value is
"pageDirection", render the children elements vertically,
otherwise horizontally, in the table. If any of the children are
an instance of SelectItemGroup, render them as a nested
table. Each of the children are ultimately rendered as follows.
Render an "input" element of "type" "radio" for each child
component. Render the "name" attribute on the "input"
selectOneRadio
element with the value of the clientId of the component.
Render an "id" attribute on the "input" element. Each "id"
value must be unique. If the current SelectItem.isDisabled()
returns true, render "disabled" as the value of the "disabled"
attribute. Close out the "input" element. Render a "label"
element. Render the "for" attribute of the "label" element
whose value is the corresponding "input" element's "id" value.
Render any "style" as the "class" attribute on the "label"
element. Close out the starting "label" element and render the
label value from SelectItem.getLabel(). Close out the "label"
element. As an exception to the general rules about how to
handle the "id" attribute, render it as an attribute on the outer
"table" element, the value of which is the clientId of the
component per the rules at the beginning of this specification.
If the value of the currently rendered child is equal to the
value of the parent UISelectOne, render an appropriate
HTML boolean value indicating "checked" for the enclosing
"input". See the "Rendering the option elements"
specification for ListboxRenderer for more detail on how to
render the "option" elements in this renderer.
column Renders a UIComponent that represents a single column of data
17. within a parent UIData component.
Tag Library Validator
com.sun.faces.taglib.html_basic.HtmlBasicValidator No Description
18. Overview Library Tag Help
FRAMES NO FRAMES All Tags
“f”
Standard Syntax:
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
XML Syntax:
<anyxmlelement xmlns:f="http://java.sun.com/jsf/core" />
The core JavaServer Faces custom actions that are independent of any
particular RenderKit.
Tag Library Information
Display Name None
Version 1.0
Short Name f
URI http://java.sun.com/jsf/core
Tag Summary
Register an ActionListener instance on the UIComponent
actionListener associated with the closest parent UIComponent custom
action.
Add an attribute to the UIComponent associated with the
attribute
closest parent UIComponent custom action.
Register a DateTimeConverter instance on the
convertDateTime UIComponent associated with the closest parent
UIComponent custom action.
Register a NumberConverter instance on the UIComponent
convertNumber associated with the closest parent UIComponent custom
action.
Register a named Converter instance on the UIComponent
converter associated with the closest parent UIComponent custom
action.
Register a named facet on the UIComponent associated
facet
with the closest parent UIComponent custom action.
loadBundle Load a resource bundle localized for the Locale of the
current view, and expose it as a java.util.Map in the request
attributes of the current request under the key specified by
the value of the "var" attribute of this tag. The Map must
behave such that if a get() call is made for a key that does
not exist in the Map, the literal string ???KEY??? is
19. returned from the Map, where KEY is the key being looked
up in the Map, instead of a MissingResourceException
being thrown. If the ResourceBundle does not exist, a
JspException must be thrown.
Add a child UIParameter component to the UIComponent
param associated with the closed parent UIComponent custom
action.
Register a PhaseListener instance on the UIViewRoot in
phaseListener
which this tag is nested.
Add a child UISelectItem component to the UIComponent
selectItem associated with the closed parent UIComponent custom
action.
Add a child UISelectItems component to the UIComponent
selectItems associated with the closed parent UIComponent custom
action.
Register an ActionListener instance on the UIComponent
associated with the closest parent UIComponent custom
action. This actionListener will cause the value given by
the "value" attribute to be set into the ValueExpression
given by the "target" attribute.
The implementation of this tag creates a special
ActionListener instance and registers it on the
ActionSource associated with our most immediate
surrounding instance of a tag whose implementation class
is a subclass of UIComponentTag. This tag creates no
output to the page currently being created.
The ActionListener instance created and installed by this
setPropertyActionListener tag has the following behavior and contract.
• Only create and register the ActionListener
instance the first time the component for this tag is
created
• The "target" and "value" tag attributes are
ValueExpression instances and are stored
unevaluated as instance variables of the listener.
• When the listener executes, call getValue() on the
"value" ValueExpression. Pass the result to a call to
setValue() on the "target" ValueExpression
This tag creates no output to the page currently being
created. It is used solely for the side effect of
ActionListener creation.
subview Container action for all JavaServer Faces core and custom
component actions used on a nested page via "jsp:include"
20. or any custom action that dynamically includes another
page from the same web application, such as JSTL's
"c:import".
Register a DoubleRangeValidator instance on the
validateDoubleRange UIComponent associated with the closest parent
UIComponent custom action.
Register a LengthValidator instance on the UIComponent
validateLength associated with the closest parent UIComponent custom
action.
Register a LongRangeValidator instance on the
validateLongRange UIComponent associated with the closest parent
UIComponent custom action.
Register a named Validator instance on the UIComponent
validator associated with the closest parent UIComponent custom
action.
Register an ValueChangeListener instance on the
valueChangeListener UIComponent associated with the closest parent
UIComponent custom action.
Create and register a child UIOutput component associated
verbatim with the closest parent UIComponent custom action, which
renders nested body content.
Container for all JavaServer Faces core and custom
view
component actions used on a page.
Tag Library Validator
com.sun.faces.taglib.jsf_core.CoreValidator This tag library validator verifies certain
semantic restrictions on the use of
JavaServer Faces component actions,
including the requirement that
component tags nested inside a JSTL
conditional tag must have a value
specified for the "id" attribute.
Listeners
|CONFIG_LISTEN_CLASS|