如何从支持bean的UISelectMany组件中收集所有选定的值,如h:selectManyListbox,h:selectManyMenu,h:selectManyCheckbox,p:selectManyListbox,p:selectManyMenu,p:selectManyCheckbox等?
如果有人能帮上忙举个例子,那会很有帮助的。
发布于 2010-12-05 20:35:39
与其他所有输入组件一样,只需将其value属性与托管bean属性绑定即可。它可以映射到与f:selectItem(s)中使用的值类型相同的List或数组。如果值类型不是标准EL类型(String、Number或Boolean)之一,则还必须提供Converter。
下面是一个值类型为String的示例
<h:selectManyListbox value="#{bean.selectedItems}">
    <f:selectItems value="#{bean.availableItems}" />
</h:selectManyListbox>
<h:commandButton value="Submit" action="#{bean.submit}" />使用
public class Bean {
    private Map<String, String> availableItems; // +getter (no setter necessary)
    private List<String> selectedItems; // +getter +setter
    @PostConstruct
    public void init() {
        availableItems = new LinkedHashMap<String, String>();
        availableItems.put("Foo label", "foo");
        availableItems.put("Bar label", "bar");
        availableItems.put("Baz label", "baz");
    }
    public void submit() {
        System.out.println(selectedItems); // It's already set at that point.
    }
    // ...
}另请参阅:
https://stackoverflow.com/questions/4358326
复制相似问题