Prvo, hvala na odgovoru. Način je delovao vrlo logično i nadao sam se uspehu. Ipak, došlo je do problema.
Uradio sam otprilike ovako:
u bean-u:
Code:
private SelectItem [] proizvodjaci;
...
public String submitId() {
readProizvodjaci();
...
}
...
public SelectItem [] getProizvodjaci() {
return proizvodjaci;
}
public void readProizvodjaci() {
//Generiše proizvodjači iz baze podataka
String query = "select id,naziv from proizvodjac";
...Izvršava se query i smešta rezultat u ResultSet rs...
rs.last();
proizvodjaci = new SelectItem [rs.getRow()];
rs.beforeFirst();
int i = 0;
while (rs.next()) {
proizvodjaci[i++] = new SelectItem(Integer.toString(rs.getInt(1)),rs.getString(2));
}
...
}
u jsp-u:
Code:
<h:selectOneMenu value="#{artBean.marka}">
<f:selectItems id="proizvodjaci" value="#{artBean.proizvodjaci}" />
</h:selectOneMenu>
Proverio sam da je dužina niza proizvodjači 83, koliko i treba da bude.
Ali dobijam ovaj Excepition:
Code:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: javax.servlet.jsp.JspException: Argument Error: One or more parameters are null.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspException: Argument Error: One or more parameters are null.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:839)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
org.apache.jsp.update_jsp._jspService(update_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
root cause
java.lang.NullPointerException: Argument Error: One or more parameters are null.
com.sun.faces.renderkit.html_basic.HtmlResponseWriter.writeText(HtmlResponseWriter.java:357)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:581)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:525)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:481)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:430)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
com.sun.faces.taglib.html_basic.SelectOneMenuTag.doEndTag(SelectOneMenuTag.java:505)
org.apache.jsp.update_jsp._jspx_meth_h_selectOneMenu_0(update_jsp.java:219)
org.apache.jsp.update_jsp._jspx_meth_h_form_0(update_jsp.java:153)
org.apache.jsp.update_jsp._jspx_meth_f_view_0(update_jsp.java:115)
org.apache.jsp.update_jsp._jspService(update_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
Apache Tomcat/5.5
Šta sad to može da bude? Proverio sam sve više puta, probao razne kombinacije, ali uvek isto. Jedino nisam probao drugi tip podataka za proizvodjaci (npr. List ili Map).