我在JSF中有一个selectmanyListbox组件,现在我想将所选数据存储到List中.这该怎么做?
与每个UIInput组件一样,您只需将value属性与辅助bean 的属性绑定即可.因此,所以:
<h:form>
<h:selectManyListbox value="#{bean.selectedItems}">
<f:selectItems value="#{bean.selectItems}" />
</h:selectManyListbox>
<h:commandButton value="submit" action="#{bean.submit}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
在Bean课堂上有以下内容:
private List<String> selectedItems; // + getter + setter
private List<SelectItem> selectItems; // + getter only
public Bean() {
// Fill select items during Bean initialization/construction.
selectItems = new ArrayList<SelectItem>();
selectItems.add(new SelectItem("value1", "label1"));
selectItems.add(new SelectItem("value2", "label2"));
selectItems.add(new SelectItem("value3", "label3"));
}
public void submit() {
// JSF has already put selected items in `selectedItems`.
for (String selectedItem : selectedItems) {
System.out.println("Selected item: " + selectedItem); // Prints value1, value2 and/or value3, depending on selection.
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想使用非标准对象作为SelectItem值(即不是a String,Number或者BooleanEL已经内置强制),那么你必须为此创建一个Converter.更多细节可以在这篇博客文章中找到.
| 归档时间: |
|
| 查看次数: |
10119 次 |
| 最近记录: |