我在创建富有问题时遇到了问题:我做了如下组合框
<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.哪种正确的方法来创建具有动态值的组合框?
它不起作用的原因是你没有在你的选择项上设置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的任何原因?