UI-Component Sets
Project Documentation

Summary

Tag name: <h:selectManyMenu>
UIComponent class: javax.faces.component.html.HtmlSelectManyMenu
Tag class: org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag
Component type: javax.faces.HtmlSelectManyMenu
Component family: javax.faces.SelectMany
Renderer type: javax.faces.Menu
Renderer class: org.apache.myfaces.renderkit.html.HtmlMenuRenderer

Allow the user to select zero or more items from a set of available options. This is presented as a drop-down "combo-box" which allows multiple rows in the list to be selected simultaneously.

The set of available options is defined by adding child f:selectItem or f:selectItems components to this component.

Renders as an HTML select element, with the choices made up of child f:selectItem or f:selectItems elements. The multiple attribute is set and the size attribute is set to 1.

The value attribute must be a value-binding expression to a property of type List, Object array or primitive array. That "collection" is expected to contain objects of the same type as SelectItem.getValue() returns for the child SelectItem objects. On rendering, any child whose value is in the list will be selected initially. During the update phase, the property is set to contain a "collection" of values for those child SelectItem objects that are currently selected.

Supported Listeners

Name Listener Event Phases Required Description
$listener.isRequired()

Attributes

Name Type Supports EL? Description
accesskey String Yes HTML: Sets the access key for this element.
binding javax.faces.component.html.HtmlSelectManyMenu Only EL Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind " + "to this component instance. This value must be an EL expression.
collectionType String Yes
converter javax.faces.convert.Converter Yes An expression that specifies the Converter for this component.

The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface.

converterMessage String Yes Text to be displayed to the user as an error message when conversion of a submitted value to the target type fails.

dir String Yes HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
disabled boolean Yes HTML: When true, this element cannot receive focus.
disabledClass String Yes The CSS class assigned to the label element for enabled choices.
enabledClass String Yes The CSS class assigned to the label element for enabled choices.
hideNoSelectionOption boolean Yes
id String Yes Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.
immediate boolean Yes A boolean value that identifies the phase during which action events should fire.

During normal event processing, action methods and action listener methods are fired during the "invoke application" phase of request processing. If this attribute is set to "true", these methods are fired instead at the end of the "apply request values" phase.

label String Yes A display name for this component.
lang String Yes HTML: The base language of this document.
onblur String Yes HTML: Specifies a script to be invoked when the element loses focus.
onchange String Yes HTML: Specifies a script to be invoked when the element is modified.
onclick String Yes HTML: Script to be invoked when the element is clicked.
ondblclick String Yes HTML: Script to be invoked when the element is double-clicked.
onfocus String Yes HTML: Specifies a script to be invoked when the element receives focus.
onkeydown String Yes HTML: Script to be invoked when a key is pressed down over this element.
onkeypress String Yes HTML: Script to be invoked when a key is pressed over this element.
onkeyup String Yes HTML: Script to be invoked when a key is released over this element.
onmousedown String Yes HTML: Script to be invoked when the pointing device is pressed over this element.
onmousemove String Yes HTML: Script to be invoked when the pointing device is moved while it is in this element.
onmouseout String Yes HTML: Script to be invoked when the pointing device is moves out of this element.
onmouseover String Yes HTML: Script to be invoked when the pointing device is moved into this element.
onmouseup String Yes HTML: Script to be invoked when the pointing device is released over this element.
onselect String Yes HTML: Specifies a script to be invoked when the element is selected.
readonly boolean Yes HTML: When true, indicates that this component cannot be modified by the user. The element may receive focus unless it has also been disabled.
rendered boolean Yes A boolean value that indicates whether this component should be rendered. Default value: true.
required boolean Yes A boolean value that indicates whether an input value is required.

If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is registered as a FacesMessage for the request, and validation fails.

Default value: false.

requiredMessage String Yes Text to be displayed to the user as an error message when this component is marked as "required" but no input data is present during a postback (ie the user left the required field blank).
style String Yes HTML: CSS styling instructions.
styleClass String Yes The CSS class for this element. Corresponds to the HTML 'class' attribute.
tabindex String Yes HTML: Specifies the position of this element within the tab order of the document.
title String Yes HTML: An advisory title for this element. Often used by the user agent as a tooltip.
validator javax.faces.el.MethodBinding Only EL A method-binding EL expression which is invoked during the validation phase for this component.

The invoked method is expected to check the submitted value for this component, and if not acceptable then report a validation error for the component.

The method is expected to have the prototype

public void aMethod(FacesContext, UIComponent,Object)
validatorMessage String Yes Text which will be shown if validation fails.
value Object Yes Gets The initial value of this component.
valueChangeListener javax.faces.el.MethodBinding Only EL A method which is invoked during postback processing for the current view if the submitted value for this component is not equal to the value which the "value" expression for this component returns.

The phase in which this method is invoked can be controlled via the immediate attribute.