可以将标准的 JavaServer Faces 下拉列表组件
从组件面板拖到可视设计器中,以创建下拉列表(或组合框),以便用户能够单击下拉按钮并从列表中选择项。
下拉列表最初是作为单个项显示的项列表,在单击后,将下拉成为包含多个项的列表。每次只能选择一个下拉项。在 Swing 和 Microsoft Windows 中,下拉列表与组合框相同,二者在 HTML 中均称为选择列表。
下拉列表是一个组合组件:包含的组件 (dropdown) 控制列表本身的样式和行为;而内部组件 (dropdownSelectItems) 用于绑定到列表中的实际项。第三个相关组件(名为 dropdownDefaultItems)是为每个添加到页面的下拉列表组件创建的,它包含一组静态的缺省列表项(item1、item2、item3)。最后一个组件并非通常使用的组件。在将下拉列表添加到页面之后,您可以在“导航”窗口中看到所有这些组件。
下拉列表呈现为 HTML <select> 标记,并具有 size=1 属性。
屏幕上并不呈现下拉列表的值属性,但在提交表单时使用该属性。值属性是指当前选定的列表元素。组件中显示的列表是由组件的 dropdownSelectItems 部分控制的。
将下拉列表组件添加到 Visual Web JSF 页后,可以使用它来执行多项操作:
id 属性的值。在页面 Bean 中,该属性的值是 HtmlSelectOneMenu 对象的名称。dropdownSelectItem 部分控制的,而不是由值属性控制的。有关设置组件 dropdownSelectItems 部分所使用的常用方法,请参见下面的“从数据库填充列表”。validate 方法上,以便插入代码来验证组件的值。processValueChange 方法上,以便插入在该组件的值发生更改时(例如,用户更改了另一个组件的值,而这个组件正在控制该组件的值)执行的代码。value 属性绑定到对象或数据提供器,如“绑定到数据”对话框中所述。 common_timeoutSubmitForm(this.form, 'component-id');。在运行时,如果用户更改了组件值,该代码将导致自动提交表单。在提交表单后,将在服务器上进行转换和验证,执行任何值更改侦听程序方法,然后重新显示页面。
配置为“更改时自动提交”的组件可以使用虚拟表单来限制在提交表单时处理的输入字段。如果定义了自动提交组件来提交虚拟表单,则在进行自动提交时,将只处理该虚拟表单中的参与者。