Вот сделал простой пример динамического формирования элементов для SelectOneMenuб но он не работает. Подскажите, в чем ошибка. Вот фрагмент backing bean:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
private ArrayList items = new ArrayList();
private void fillList()
{
UISelectItem item = new UISelectItem();
item.setValue("1");
item.setItemLabel("AAA");
items.add(item);
item = new UISelectItem();
item.setValue("2");
item.setItemLabel("BBB");
items.add(item);
item.setValue("3");
item.setItemLabel("CCC");
items.add(item);
}
public void setItems(ArrayList items)
{
this .items = items;
}
public ArrayList getItems()
{
return items;
}
А вот фрагмент JSF-страницы, на которой установлено меню:
1.
2.
3.
4.
5.
6.
7.
<body>
<h:form binding="#{backing_index.form}">
<h:selectOneMenu>
<f:selectItems value="#{backing_index.items}"/>
</h:selectOneMenu>
</h:form>
</body>
При запуске страницы выбрасывается исключение:
1.
javax.servlet.jsp.JspException: javax.faces.component.UISelectItem at com.sun.faces.taglib.html_basic.SelectOneMenuTag.doEndTag(SelectOneMenuTag.java: 515 ) at _index_2e_jsp._jspService(index.jsp: 17 ) [/index.jsp] at com.orionserver[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].http.OrionHttpJspPage.service(OrionHttpJspPage.java: 60 ) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java: 343 ) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java: 543 ) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java: 441 ) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 856 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java: 61 ) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java: 672 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java: 378 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java: 272 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.access$ 100 (ServletRequestDispatcher.java: 36 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher$ 2 .oc4jRun(ServletRequestDispatcher.java: 207 ) at oracle.oc4j.security.OC4JAccessController.doPrivilegedWithException(OC4JAccessController.java: 186 ) at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java: 85 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java: 211 ) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java: 322 ) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java: 130 ) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java: 87 ) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java: 200 ) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 117 ) at javax.faces.webapp.FacesServlet.service(FacesServlet.java: 198 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java: 61 ) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java: 672 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java: 378 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java: 869 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.HttpRequestHandler.run(HttpRequestHandler.java: 288 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].server.http.HttpRequestHandler.run(HttpRequestHandler.java: 120 ) at com.evermind[Oracle Containers for J2EE 10g ( 10 . 1 . 3 . 0 . 0 ) - Developer Preview 3 ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java: 294 ) at java.lang.Thread.run(Thread.java: 534 )
Использую JDev 10g & JSF 1.1 RI
Подскажите, как правильно делать. Заранее спасибо.