jsf-2 – java.lang.ClassCastException:java.util.ArrayList无
发布时间:2020-12-15 05:02:25 所属栏目:Java 来源:网络整理
导读:参见英文答案 How to populate options of h:selectOneMenu from database?????????????????????????????????????5个 我想让我的下拉动态,下面是我得到的代码和异常.请帮帮我 豆: private String dropDownValue; ListSelectItem testDropDown = new ArrayLi
参见英文答案 >
How to populate options of h:selectOneMenu from database?????????????????????????????????????5个
我想让我的下拉动态,下面是我得到的代码和异常.请帮帮我 豆: private String dropDownValue; List<SelectItem> testDropDown = new ArrayList<SelectItem>(); List<SelectItem> testDropDownTwo = new ArrayList<SelectItem>(); public String getDropDownValue() { return dropDownValue; } public void setDropDownValue(String dropDownValue) { this.dropDownValue = dropDownValue; } public List<SelectItem> getTestDropDown() { testDropDown.add(new SelectItem("One")); testDropDown.add(new SelectItem("Two")); testDropDown.add(new SelectItem("Three")); testDropDown.add(new SelectItem("Four")); return testDropDown; } XHtml代码: <h:selectOneMenu value="#{loginBean.dropDownValue}"> <f:selectItem value="#{loginBean.testDropDown}" /> </h:selectOneMenu> 例外: 例外 javax.servlet.ServletException: java.util.ArrayList cannot be cast to javax.faces.model.SelectItem javax.faces.webapp.FacesServlet.service(FacesServlet.java:321) root cause java.lang.ClassCastException: java.util.ArrayList cannot be cast to javax.faces.model.SelectItem com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:185) com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:131) com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:758) com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:840) com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:294) javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650) 一些转发例外正在发生.但我发送SelectItem的ArrayList到列表 如果我将selectItem标签中的Value属性更改为itemValue,它不会抛出异常,但我没有得到任何值,我得到的对象名称就像在单个列表中的下拉列表中一样 解决方法
你必须使用f:selectItems:
<h:selectOneMenu value="#{loginBean.dropDownValue}"> <f:selectItems value="#{loginBean.testDropDown}"/> </h:selectOneMenu> f:selectItem用于向菜单添加单个SelectItem,以添加必须使用此标记的整个SelectItem列表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |