列表框 - 单选

创建一个列表框,在该列表框中,可以从多个选项中选择单项。此选项列表可静态定义,也可以与数据存储器(例如数据库、Bean 或者这两者的组合)绑定。通常,整个列表框与数据存储器绑定。当提交具有“列表框”的页面时,会将所选项存储在指定位置,例如,数据库中的列或 Bean 的属性。

设计时的组件

列表框 - 单选组件拖放到页面上:

“列表框 - 单选”组件按钮

列表框 - 单选组件在页面上看起来如下所示:

设计时的“列表框 - 单选”

运行时的组件

在运行时,列表框 - 单选组件在页面上看起来如下所示:

运行时的“列表框 - 单选”

属性视图和全部属性视图

组件的“属性”视图显示可以对组件设置的最常见属性集,并且根据组件的不同,您还可以看到用于添加控件、操作或其他组件的选项。要打开“属性”视图,请单击窗口 > 显示视图 > 属性

“列表框 - 单选”组件的这些常用属性显示在“属性”视图中的 h:selectOneListbox辅助功能选项卡上。要获取完整的属性列表,请参阅全部列表框 - 单选属性表。列表项的其他配置选项显示在 h:selectOneListbox 选项卡上:

表 1. 列表框 - 单选配置选项

配置选项

描述

对列表框中的项添加选项

允许您指定“列表框”组件中各项的名称、值和顺序。

对于 selectOne 组件无效的值
注:
根据 JSF 标准,对页面进行初始呈示时,JSF 生命周期不会验证值。例如:
<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>
开始时,如果对值进行解析,发现解析后的内容不在指定范围之内,则 JSF 工具不会在 <h:message> 标记中对此错误进行标记。此时,将假定有意使用无效值,以便用户可以对其进行更正或显示输入消息。

如果包含此无效值的标记是一个 selectOne 组件,例如,组合框、列表框或单选按钮组,则在呈示页面时,不会对 HTML 标记设置初始值,即未选择任何选项。这是因为无法找到与该无效值相匹配的选项。

即使在列表框或单选按钮组中选择了内容,但由于假定您正尝试强制用户选择值,所以浏览器不会显示任何所选内容。提交页面时,如果所作选择无效,则不会提交值,即,不提交任何所选内容。如果字段标记为“必填”,则将生成错误。

如果是组合框,则即使操作相同,浏览器行为也不尽相同。如果组合框所选项无效,则浏览器将使第一个值成为所选项。因此,提交页面时,将始终提交一个有效的值。

“全部属性”视图显示可以对组件设置的全部属性的表,包含可以从“属性”视图访问的那些属性。要切换至“全部属性”视图,请单击“属性”视图右上角的全部属性图标 “全部属性”图标

表 2. 全部列表框 - 单选属性

属性名称

在“属性”视图中表示为

描述

accesskey

辅助功能 > 访问键

将单个键盘键指定为访问键。在运行时按指定的访问键可以使此组件具有焦点。在运行时按 ALT + 指定的访问键可以使此组件具有焦点,如果组件是一种按钮,则执行此组件。

binding

未表示

该表达式将组件的实例(通常为用户界面组件)与 Bean 属性(通常在备份文件中)绑定。

converter

未表示

指定值所转换至的数据类型。JavaServer Faces 实现提供了一组“转换器”实现,可以使用它们来将组件数据转换为其处理器不支持的类型。

dir

未表示

指定当在运行时呈示时组件的方向。值可以是:
  • ltr - 从左到右
  • rtl - 从右到左
如果未指定方向,则使用适合于对组件进行编码的方向。

disabled

未表示

如果 disabled 设置为 true,则在运行时将显示组件,但它不起作用。如果留空,则缺省值为 false。

id

标识

对组件指定一个名称。它在 JSP 内应该是唯一名称。

immediate

未表示

如果为 true,则直接跳至生命周期的呈示阶段。

lang

未表示

组件的值和文本内容所用的语言。如果语言被忽略,则它会从包含标记(特别是视图)继承。指定为符合 ISO 标准的语言缩写代码。例如,“en”表示英语,“en-US”表示美国英语,“fr”表示法语,而“de”表示徳语。
注: 此选项不是“翻译”组件中的文本,而是标识组件的语言以便搜索、排序、整理以及类似操作能够正确完成。

readonly

控件是只读的

指定组件的初始值不可更改。

rendered

未表示

可设置为 true 或 false:
  • false - 将不会在运行时向浏览器呈示组件。
  • true - 将呈示组件。这是缺省值。

required

未表示

必须指定组件。选择此项以要求用户输入值。

size

大小:高度

指定组件的高度,用行数、像素或占屏幕的百分比来表示。

样式

样式:属性

指定组件的 CSS 样式信息,例如,style="font-size : 8pt ; color : red"。定义所选组件的属性,例如,字体和颜色。这可以通过手工完成,也可以通过单击按钮并从窗口中选择期望的属性来完成。

styleClass

样式:类

当呈示此元素时要应用的以空格分隔的 CSS 样式类列表。此值必须作为生成标记上的类属性来传递。定义所选组件的类,例如,样式表。这可以通过手工完成,也可以通过单击按钮并从窗口中选择期望的类来完成。

tabindex

辅助功能 > 跳进顺序索引

指定 JSP 中按跳进顺序排列的组件的位置。此值必须是 0 与 32767 之间的某个数。

title

辅助功能 > 标题

指定标题文本,它在运行时以工具提示的形式显示在浏览器中。如果未指定备用文本,则浏览器将使用标题文本作为组件的备用文本。

validator

未表示

接受 FacesContext、UIComponent 和 Object 参数的方法(由 MethodBinding 表达式表示)。在验证过程中将调用它以确保组件值正确。

value

指定在运行时显示的组件的初始文本值。包含要显示的信息,它采用指定值或者指向动态值的指针的形式。

valueChangeListener

未表示

当组件的值更改时要通知的方法。

相关任务
定义输入字段的定制模式
对 Faces JSP 文件添加选择列表
相关参考
列表框 - 多选

反馈