2011-04-24 123 views

回答

1

使用<f:selectItems>结合使用返回List<SelectItem>的属性,或者当您已经使用JSF 2.0时,使用List<SomeObject>

<h:selectManyListbox value="#{bean.selectedItems}"> 
    <f:selectItems value="#{bean.selectItems}" /> 
</h:selectManyListbox> 

您可以从DB的构造函数或@PostConstruct方法中加载项目。

public class Bean { 

    private List<String> selectedItems; 
    private List<SelectItem> selectItems; 

    public Bean() { 
     selectItems = new ArrayList<SelectItem>(); 

     // Fill select items during Bean initialization/construction. 
     // Below is just an example, you could replace this by getting a list 
     // of some objects from DB and creating new items in a loop. 
     selectItems.add(new SelectItem("value1", "label1")); 
     selectItems.add(new SelectItem("value2", "label2")); 
     selectItems.add(new SelectItem("value3", "label3")); 
    } 

    // Getters, etc 
}