You can drag the Standard JavaServer Faces Listbox component from
the Palette to the Visual Designer to create a component that
enables the user to select one item from a list of items. If
the box is too small to contain the items in the list, the list
box includes scrollbars. Only one item at a time can be selected.
If you want a listbox in which multiple items can be selected,
use the Basic Listbox component.
A Listbox is a composite component: the enclosing component
(listbox) manages the style and behavior of the list itself,
and the inside component (listboxSelectItems) is used to bind
to the actual items in the list. A third, related component
named listboxDefaultItems is created for each Listbox component
that you add to the page and contains an array of static default
items for the list (item1
, item2
, item3
).
This last component is not one that you typically work with.
You can see all these components in the Navigator window after you add a Listbox to your page.
A Listbox renders as an HTML <select>
tag with
the size
attribute set to a value greater than 1.
After adding a Listbox Component to a Visual Web JSF page, you can do a number of things with it:
id
attribute. In the page bean, this property's value is
the name of the HtmlSelectOneList
object.listboxSelectItems
part
of the component, not by the value property. See the Fill
List From Database selection's description below for a
typical way to set the listboxSelectItems
part
of the component.validate
method so you can insert code to validate the value
of the component.processValueChange
method so you can insert code that executes when the
value of this component changes (for example, the
user changes the value of another component that is
controlling the value of this component).common_timeoutSubmitForm(this.form, 'component-id');
. At runtime, this code causes the form to be automatically submitted if the user changes the component value. Once the form is submitted, conversion and validation occur on the server and any value change listener methods execute, and then the page is redisplayed.
A component configured to Auto-Submit on Change can use virtual forms to limit the input fields that are processed when the form is submitted. If the auto-submit component is defined to submit a virtual form, only the participants in that virtual form will be processed when the auto-submit occurs.