在Richfaces中创建一个组合框

Jin*_*esh 2 jsf richfaces

我在创建富有问题时遇到了问题:我做了如下组合框

<rich:comboBox selectFirstOnUpdate="false" defaultLabel="Enter some value">
    <f:selectItems value="#{userregister.selectItems}" />
</rich:comboBox>
Run Code Online (Sandbox Code Playgroud)

在支持bean中,我创建了selectItems,如下所示

 List<UISelectItem> selectItems;
 UISelectItem uisi = new UISelectItem();
 uisi.setItemLabel("label");
 uisi.setValue("value");
 selectItems.add(uisi);
Run Code Online (Sandbox Code Playgroud)

但我得到的异常是javax.servlet.ServletException: Value of tag <selectItems> attribute is incorrect.哪种正确的方法来创建具有动态值的组合框?

Chr*_*ale 5

它不起作用的原因是你没有在你的选择项上设置itemValue.但是我从未使用过UISelectItem而是使用了像这样的SelectItem:

List<SelectItem> selectItems = new ArrayList();
selectItems.add(new SelectItem('value', 
'label'));
Run Code Online (Sandbox Code Playgroud)

这跟说:

List<SelectItem> selectItems = new ArrayList();
SelectItem item = new SelectItem();
item.setItemLabel("label");
item.setItemValue("value");
Run Code Online (Sandbox Code Playgroud)

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