Render an HTML checkbox list.
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", or
"border" attributes are specified, pass them thru and render their values as the "style"
and "border" attributes on the "table", respectively.
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 "input" 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. If the current checkbox would be
rendered as being checked, and there is a "selectedClass"
attribute, append a space, followed by the value of the
"selectedClass" attribute to any existing "class" attribute value
on the label element. Otherwise, render the value of the
"selectedClass" attribute as the value of the "class" attribute on
the label element. If the current checkbox would be rendered as
being not checked, and there is a "unselectedClass" attribute,
append a space, followed by the value of the "unselectedClass"
attribute to any existing "class" attribute value on the label
element. Otherwise, render the value of the "unselectedClass"
attribute as the value of 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. Coerce the value of the currently rendered
child to the type of the parent UISelectMany value following the
Expression Language coercion rules, before comparing the values.
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.
Info | Value |
---|---|
Component Type | jakarta.faces.HtmlSelectManyCheckbox |
Handler Class | None |
Renderer Type | jakarta.faces.Checkbox |
Description | None |
Name | Required | Type | Description |
---|---|---|---|
converter | false | jakarta.el.ValueExpression
(must evaluate to jakarta.faces.convert.Converter )
| Converter instance registered with this component. |
converterMessage | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| A ValueExpression enabled attribute that, if present, will be used as the text of the converter message, replacing any message that comes from the converter. |
id | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
immediate | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
| Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase. |
rendered | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
| Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true. |
required | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
| Flag indicating that the user is required to provide a submitted value for this input component. |
requiredMessage | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| A ValueExpression enabled attribute that, if present, will be used as the text of the validation message for the "required" facility, if the "required" facility is used. |
validator | false | jakarta.el.MethodExpression
(signature must match void validate(jakarta.faces.context.FacesContext,
jakarta.faces.component.UIComponent, java.lang.Object)
)
| MethodExpression representing a validator method that will be called during Process Validations to perform correctness checks on the value of this component. The expression must evaluate to a public method that takes FacesContext, UIComponent, and Object parameters, with a return type of void. |
validatorMessage | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| A ValueExpression enabled attribute that, if present, will be used as the text of the validator message, replacing any message that comes from the validator. |
value | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Object )
| The current value of this component. |
valueChangeListener | false | jakarta.el.MethodExpression
(signature must match void
valueChange(jakarta.faces.event.ValueChangeEvent)
)
|
MethodExpression representing a value change listener method
that will be notified when a new value has been set for this
input component. The expression must evaluate to a public
method that takes a |
accesskey | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Access key that, when pressed, transfers focus to this element. |
border | false | jakarta.el.ValueExpression
(must evaluate to int )
| Width (in pixels) of the border to be drawn around the table containing the options list. |
collectionType | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
|
Optional
attribute that is a literal string that is the fully qualified
class name of a concrete class that implements
|
dir | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). |
disabled | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
| Flag indicating that this element must never receive focus or be included in a subsequent submit. A value of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as disabled="disabled". |
disabledClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| CSS style class to apply to the rendered label on disabled options. |
enabledClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| CSS style class to apply to the rendered label on enabled options. |
hideNoSelectionOption | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
|
Flag indicating that, if this component is activated by the user, The "no selection option", if any, must be hidden. |
label | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| A localized user presentable name for this component. |
lang | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Code describing the language used in the generated markup for this component. |
layout | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Orientation of the options list to be created. Valid values are "pageDirection" (list is laid out vertically), or "lineDirection" (list is laid out horizontally). If not specified, the default value is "lineDirection". |
onblur | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when this element loses focus. |
onchange | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when this element loses focus and its value has been modified since gaining focus. |
onclick | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is clicked over this element. |
ondblclick | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is double clicked over this element. |
onfocus | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when this element receives focus. |
onkeydown | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a key is pressed down over this element. |
onkeypress | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a key is pressed and released over this element. |
onkeyup | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a key is released over this element. |
onmousedown | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is pressed down over this element. |
onmousemove | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is moved within this element. |
onmouseout | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is moved away from this element. |
onmouseover | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is moved onto this element. |
onmouseup | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when a pointer button is released over this element. |
onselect | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Javascript code executed when text within this element is selected by the user. |
readonly | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Boolean )
| Flag indicating that this component will prohibit changes by the user. The element may receive focus unless it has also been disabled. A value of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as readonly="readonly". |
selectedClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| CSS style class to apply to the rendered label on selected options. |
style | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| CSS style(s) to be applied when this component is rendered. |
styleClass | false | jakarta.el.ValueExpression
(must evaluate to 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. |
tabindex | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767. |
title | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| Advisory title information about markup elements generated for this component. |
unselectedClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| CSS style class to apply to the rendered label on unselected options. |
binding | false | jakarta.el.ValueExpression
(must evaluate to jakarta.faces.component.UIComponent )
| The ValueExpression linking this component to a property in a backing bean |
role | false | jakarta.el.ValueExpression
(must evaluate to 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. |