0

我正在尝试通过程序代码创建一个 HtmlSelectOneMenu。这不是问题。我是这样意识到的:

final UISelectItem select = (UISelectItem) app.createComponent(UISelectItem.COMPONENT_TYPE);

//Items für DropDownMenü erstellen
List<SelectItem> items = new ArrayList<SelectItem>();
for (int k = 0; k < Gender2.values().length; k++){
    items.add(new SelectItem(Gender2.values()[k]));                
}

//Items dem DropDown Menü zuordnen
UISelectItems selectItems = new UISelectItems();
selectItems.setValue(items);
selectOneRadio = (HtmlSelectOneMenu) app.createComponent(HtmlSelectOneMenu.COMPONENT_TYPE);
selectOneRadio.getChildren().add(selectItems);
testgrid.getChildren().add(selectOneRadio);

当我再次调用该方法时,出现以下错误:异常报告

信息

描述服务器遇到一个内部错误 () 阻止它完成这个请求。

异常 javax.servlet.ServletException: Komponenten-ID j_idt3:j_id5 已被发现

想我可以针对这个错误做些什么吗?

4

1 回答 1

-1

您应该为使用setId()方法创建的组件分配一个唯一的 ID。

您可以自行生成 id,或使用:

FacesContext.getCurrentInstance().getViewRoot().createUniqueId()

生成它们。

于 2013-01-17T09:23:35.843 回答