您可以将标准的 JavaServer Faces 列表框组件
从组件面板拖到可视设计器中,以创建使用户能够从项列表中选择项的组件。如果框太小而无法容纳列表中的项,则列表框会包含滚动条。每次只能选择一项。如果希望在列表框中选择多个项,请使用“基本”类别中的列表框组件。
列表框是一个组合组件:包含的组件 (listbox) 控制列表本身的样式和行为;而内部组件 (listboxSelectItems) 用于绑定到列表中的实际项。第三个相关组件(名为 listboxDefaultItems)是为添加到页面的每个列表框组件创建的,它包含一组静态的缺省列表项(item1、item2、item3)。最后一个组件并非通常使用的组件。在将列表框添加到页面之后,您可以在“导航”窗口中看到所有这些组件。
列表框呈现为 HTML <select> 标记,并将 size 属性设置为大于 1 的值。
将列表框组件添加到 Visual Web JSF 页后,可以使用它来执行多项操作:
id 属性的值。在页面 Bean 中,该属性的值是 HtmlSelectOneList 对象的名称。listboxSelectItems 部分控制的,而不是由值属性控制的。有关设置组件 listboxSelectItems 部分的常用方法,请参见下面“从数据库填充列表”选项的说明。validate 方法上,以便插入代码来验证组件的值。processValueChange 方法上,以便插入在该组件的值发生更改时(例如,用户更改了另一个组件的值,而这个组件正在控制该组件的值)执行的代码。common_timeoutSubmitForm(this.form, 'component-id');。在运行时,如果用户更改了组件值,该代码将导致自动提交表单。在提交表单后,将在服务器上进行转换和验证,执行任何值更改侦听程序方法,然后重新显示页面。
配置为“更改时自动提交”的组件可以使用虚拟表单来限制在提交表单时处理的输入字段。如果定义了自动提交组件来提交虚拟表单,则在进行自动提交时,将只处理该虚拟表单中的参与者。