使用列表框组件
,用户可以从项列表中选择项。如果框太小而无法容纳列表中的项,则列表框会包含滚动条。
缺省情况下,只能在列表中选择一个项。multiple 属性确定了用户可以选择一个项还是多个项。
可以设置 items 属性将组件与数据库表或 com.sun.webui.jsf.model.Option 对象的数组、集合或映射相关联,以便填充列表。可以通过右键单击组件并选择“绑定到数据”来设置该属性。在中,可以看到用于填充列表的缺省对象,该对象的名称类似于 listbox1DefaultOptions。
可以设置 selected 属性,将组件与用于选取用户所选列表项的模型对象相关联。模型对象必须是对象数组,其值表示列表中 com.sun.webui.jsf.model.Option 对象的值。第一次呈现组件时,与 selected 属性值对应的选项(如果存在)将被标记为选中状态。
将列表框组件添加到 Visual Web JSF 页后,可以使用它来执行多项操作:
id 属性的值。在页面 Bean 中,该属性的值是 Listbox 对象的名称。labelOnTop 属性,它将显示在列表顶部;如果未选择 labelOnTop 属性,它将显示在列表旁边。
label 属性不像标签组件那样灵活。如果要对标签的外观进行更多控制(如相对于组件定位标签),则可以使用标签组件。rows 属性设置为 1,列表框将在大多数浏览器中呈现为下拉列表。required 图标。 validate 方法上,以便插入代码来验证组件的值。processValueChange 方法上,以便插入在该组件的值发生更改时(例如,用户更改了另一个组件的值,而这个组件正在控制该组件的值)执行的代码。onclick 属性设置为 common_timeoutSubmitForm(this.form, 'component-id');。在运行时,如果用户更改了组件值,该代码将导致自动提交表单。在提交表单后,将在服务器上进行转换和验证,执行任何值更改侦听程序方法,然后重新显示页面。
配置为“更改时自动提交”的组件可以使用虚拟表单来限制在提交表单时处理的输入字段。如果定义了自动提交组件来提交虚拟表单,则在进行自动提交时,将只处理该虚拟表单中的参与者。
items 属性绑定到对象或数据提供器,如“绑定到数据”对话框中所述。
items 属性绑定到对象,请选择“绑定到对象”标签,然后选择一个将用于填充列表的 Bean 属性。Bean 属性必须为 Object 数组、映射或集合,其成员是 com.sun.webui.jsf.model.Option 的所有子类。 items 属性绑定到用于填充列表的数据库表或 JavaBeans 对象的数据提供器,请选择“绑定到数据提供器”标签,然后选择一个数据提供器。selected 属性,以便您可以计算用户提交页面后选择的值。