我从编译器收到奇怪的错误:
Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(siachoice). Found javax.faces.component.UISelectItems.
那么,如果他期待 UISelectItems,却找到了 UISelectItems,那么错误在哪里呢?
我的 JSP 实现:
<h:selectOneMenu id="siachoice" value="#{dbSelectBean.currentOption}">
<f:selectItems value="#{dbSelectBean.dbs}" />
</h:selectOneMenu>
方法,我将 UISelectItem 设置为 UISelectItems:
private UISelectItems populateDatabases(String databaseString) {
UISelectItems selects = new UISelectItems();
List<UISelectItem> result = new ArrayList<UISelectItem>();
StringTokenizer tokeniz = new StringTokenizer(databaseString, GlobalConstants.DELIMITER);
while(tokeniz.hasMoreTokens()){
String tempDB = tokeniz.nextToken();
UISelectItem item = new UISelectItem();
item.setItemValue(tempDB);
item.setItemLabel(tempDB);
result.add(item);
}
selects.setValue(result);
return selects;
}
然后,当然,我将它设置为 bean 变量 dbs。
帮忙吗?
最佳答案
您必须返回 javax.faces.model.SelectItem
Collection
List list = new ArrayList(); list.add(new SelectItem(value, label));return list;
关于java - JSF - UISelectItems 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1728132/