List Box - Single Select
Creates a list box from which a single item may be selected from many choices. The list of choices can be statically defined or can be bound to data storage such as a database, a bean, or a combination of both. The entire list box is usually bound to data storage. When a page with the List Box is submitted, the selected item is stored in the specified location (for example, a column in the database or a property of the bean).
Component at design time
Drag and drop a
List Box - Single Select component onto the page:
The
List Box - Single Select component looks like this on the page:
Component at runtime
The
List Box - Single Select component looks like this on the page during runtime:
Properties and All Attributes views
The Properties view for a component shows the most common set of attributes you can set on a component, and, depending on the component, you might also see options for adding controls, actions, or other components. To open the Properties view, click
Window | Show View | Properties.
These common attributes for the List Box - Single Select component display on the h:selectOneListbox and Accessibility tabs in the Properties view. See the All List Box - Single Select attributes table for a complete list of attributes. Additional configuration options for list items are on the h:selectOneListbox tab:
Table 1. List Box - Single Select configuration options Configuration option
Description
Add a choice for item in the list box
Allows you to specify the names, values and order of items within the list box component.
Invalid values for selectOne components
Note:
The JSF lifecycle does not validate values when a page is initially rendered, as per the JSF standard. For example:
<h:inputText id="text2" styleClass="inputText" value="#{pc_Sa_RATLC00298618.myBean.myBigDecimal04}"> <hx:convertNumber/> <f:validateDoubleRange minimum="10.0" maximum="99.0"> </f:validateDoubleRange> </h:inputText>If the value initially resolves to something that is not in the specified range, the JSF tools will not mark an error (in an <h:message> tag). It is assumed that an invalid value is deliberately being used so that a user can correct it or to display an input message.When the tag with an invalid value is a selectOne component, such as a combo box, a list box or a radio button group, an initial value is not set on the HTML tag (no option is selected) when the page is rendered. This is because an option that matches the invalid value cannot be located.
The browser will display nothing selected in the list box or radio button group since it is assumed that you are trying to force a user to choose a value. When the page is submitted, a value is not submitted (no selection) if non-valid choice has been made. If the field is marked as
"required", an error will be generated.
In the case of a combo box, the same thing is done, but the browser behavior differs. If a combo box has an invalid selection, the browser makes the first value the selection. As a result, when the page is submitted, a valid value is always submitted.
The All Attributes view shows a table of all the attributes you can set on a component, which includes those attributes you can access from the Properties view. To switch to the All Attributes view, click the
All Attributes icon in the upper right corner of the Properties view.
Table 2. All List Box - Single Select attributes Attribute name
Represented in Properties view by
Description
accesskey
Accessibility>Access Key
Specifies a single keyboard key as an access key. Pressing the specified access key at runtime gives focus to this component. Pressing ALT plus the specified access key at runtime gives focus to this component (or executes the component if it is a kind of button).
binding
Not represented
An expression that binds the component's instance (usually a user interface component) to a bean property (usually in the backing file).
converter
Not represented
Specifies the data type to which the value is converted. The JavaServer Faces implementation provides a set of Converter implementations that you can use to convert your component data to a type not supported by its renderer.
dir
Not represented
Specifies the component's direction when rendered at runtime. The values can be either:
If the direction is not specified, a direction appropriate to the encoding of the component is used.
- ltr - left to right
- rtl - right to left
disabled
Not represented
If disabled is set to true, the component is displayed at runtime but is not functional. If left blank, the default value is false.
id
ID
Assigns a name to a component. Should be a unique name within a JSP.
immediate
Not represented
If true, skip straight to render phase of life cycle.
lang
Not represented
The language of the component's value(s) and text content. If omitted, the language is inherited from the containing tags (notably the view. Specified as an ISO-standard language abbreviation code. For example, "en" for English, "en-US" for American English, "fr" for French, "de" for German.
Note: This does not "translate" the text in the component, rather, it identifies the language of the component so that operations such as searching, sorting, collating and the like are done correctly.
readonly
Control is read-only
Specifies that the value of the component cannot be changed from its initial value.
rendered
Not represented
Can be set to true or false:
- false - Component will not be rendered to the browser at runtime.
- true - Component will get rendered. This is the default value.
required
Not represented
The component must be specified. Check this to require the user to enter a value.
size
Size: Height
Specifies the height of the component (by number of lines, pixels or percentage of the screen).
style
Style: Props
Specifies CSS style information for the component (for example, style="font-size : 8pt ; color : red"). Defines the properties (such as font and color) of the selected component. This may be done manually, or by clicking the button and selecting the desired properties from within the window.
styleClass
Style: Classes
Space-separated list of CSS style classes to be applied when this element is rendered. This value must be passed through as the class attribute on generated markup. Defines the classes (such as style sheets) of the selected component. This may be done manually, or by clicking the button and selecting the desired Classes from within the window.
tabindex
Accessibility>Tab order index
Specifies the position of the component in the tabbing order in the JSP. This value must be a number between 0 and 32767.
title
Accessibility>Title
Specifies the title text, shown in browser as a tooltip at runtime. Used by a browser as the alternative text of a component if the alternative text is not specified.
validator
Not represented
A method (represented by a MethodBinding expression) that accepts FacesContext, UIComponent, and Object parameters. It is called during the validation process to ensure that value of the component is correct.
value
Value
Specifies the initial text value for the component displayed at runtime. Contains information to be displayed, in the form of a specified value or a pointer to a dynamic value.
valueChangeListener
Not represented
Method to be notified when value of component has changed.
Related tasks
Adding selection lists to a Faces JSP file