在Richfaces中创建一个组合框

时间:2009-08-24 18:42:39

标签: jsf richfaces

我在创建rich:combobox时遇到了问题 我做了如下

<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.哪种方法可以创建具有动态值的组合框呢?

1 个答案:

答案 0 :(得分:5)

它不起作用的原因是你没有在你的选择项目上设置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");

selectItem的值被定义为itemValue而不是btw,因此通过更正您的代码可能无需进行任何修改即可。您使用UISelectItem的原因是什么,而不仅仅是SelectItem btw?