2009-08-24 62 views
2

我有創造豐富的問題​​創建一個組合框:組合框 我沒有如下在RichFaces的

<rich:comboBox selectFirstOnUpdate="false" defaultLabel="Enter some value"> 
    <f:selectItems value="#{userregister.selectItems}" /> 
</rich:comboBox> 

,並在後臺bean我創建selectItems的如下

List<UISelectItem> selectItems; 
UISelectItem uisi = new UISelectItem(); 
uisi.setItemLabel("label"); 
uisi.setValue("value"); 
selectItems.add(uisi); 

但我我得到了例外javax.servlet.ServletException: Value of tag <selectItems> attribute is incorrect.哪個創建帶有動態值的組合框的正確方法?

回答

4

它不工作的原因是因爲你沒有在你選擇的項目上設置itemValue。但是我從來沒有使用UISelectItem,而是使用了SelectItem這樣的:

List<SelectItem> selectItems = new ArrayList(); 
selectItems.add(new SelectItem('value', 
'label')); 

這是相同的話說:

List<SelectItem> selectItems = new ArrayList(); 
SelectItem item = new SelectItem(); 
item.setItemLabel("label"); 
item.setItemValue("value"); 

的項目值不通過更正重視順便說一句這樣的選擇信息的值定義您的代碼可能會在沒有任何其他修改的情況下運行。任何你使用UISelectItem的原因,而不僅僅是SelectItem btw?