JSF 1.2 下拉列表组件

另请参见

您可以将下拉列表组件 “下拉列表”图标 从组件面板拖到可视设计器中以创建一个下拉列表(或组合框),用户可以单击下拉按钮并从列表中选择项。

下拉列表是最初作为单个项显示的项列表,单击后将变成包含多个项的列表。每次只能选择一个下拉项。下拉列表与 Java Swing 和 Microsoft Windows 中的组合框相似,它们在 HTML 中称为选择列表

您可以设置 items 属性将组件与填充列表的数据库表或数组、com.sun.webui.jsf.model.Option 对象的 java.util.Collectionjava.util.Map 关联起来。可以通过右键单击组件并选择“绑定到数据”来设置该属性。在 中,可以看到用于填充列表的缺省对象,该对象的名称类似于 dropDown1DefaultOptions。有关此属性的缺省设置的信息,请参见本主题后面的下拉项的缺省显示

可以使用 selected 属性将组件与表示当前选项的模型对象相关联。为此,请设置与受管 Bean 属性对应的表达式的值。可以右键单击组件,然后选择“属性绑定”以在“属性绑定”对话框中绑定 selected 属性。

第一次呈现组件时,与 selected 模型对象属性值对应的选项将被标记为选中状态(通过使用模型对象中的 equals 方法)。

可以对组件执行以下操作:

下拉项的缺省显示

缺省情况下,下拉列表使用类型为 SingleSelectOptionsList 且名称基于缺省组件 ID 的对象来显示其列表项。例如,在页面上放置的第一个下拉列表最初命名为 dropDown1,且具有与其关联的 dropDown1DefaultOptions 数组对象,您可以在 中看到该对象。

可以使用以下方法来设置此数组对象的值:右键单击下拉列表组件,然后选择“配置缺省选项”以打开“选项定制器”对话框。在此对话框中,可以添加新的项或删除现有的项;可以为每一项设置显示的值 (Display) 和项值 (Value);并且还可以选择缺省情况下显示的项 (Selected)。dropDown#DefaultOptions 对象是一个数组,该数组在 label 字段中存储其 Display 值,并在 value 字段中存储其 Value 值。

以下代码样例说明了如何使用此对象和下拉列表的 select 属性来确定当前选择的项,然后将其 Display 和 Value 值(即 labelvalue)写入两个静态文本字段中以进行显示。如果将下拉列表和两个静态文本组件添加到页面中,然后按照上述说明将此代码置于下拉列表的 processValueChange 方法中并为组件选择“更改时自动提交”,当用户选择此列表中的某一项时,将在两个静态文本字段中显示其 Display 和 Value 值。

   String myvalue = (String)dropDown1.getSelected();
int numOptions = dropDown1DefaultOptions.getOptions().length;
int i = 0;
for (i = 0; i < numOptions; i++) {
if (myvalue.equals(dropDown1DefaultOptions.getOptions()[i].getValue()))
break;
}
if (i < numOptions) {
staticText1.setText(dropDown1DefaultOptions.getOptions()[i].getLabel());
staticText2.setText(dropDown1DefaultOptions.getOptions()[i].getValue());
} else {
staticText1.setText("not found"); // should not get here
}
另请参见
下拉列表属性窗口
绑定组件属性
“属性绑定”对话框
使用组件
组件任务:快速参考
关于 Visual Web 组件面板

法律声明