Pessoal estou tentando listar as informações de um contato em um DataTable e não estou conseguindo. É a primeira vez que tento usar este componente.
Segue meu método que pega os contatos e meu DataTable:
Meu Método:
public List<SelectItem> getTodosContatos() {
todosContatos = new ArrayList<SelectItem>();
ContatoBusiness contatoBusiness = new ContatoBusiness();
List<Contato> contato = contatoBusiness.listarContatos();
for (Contato contato2 : contato) {
todosContatos.add(new SelectItem(contato2));
}
return todosContatos;
}
Meu DataTable:
<f:view>
<h:dataTable id="contatos" value="#{contatoMB.todosContatos}" var="contato" border="1">
<h:column>
<f:facet name="header">
<h:outputText value="Id" id="id" />
</f:facet>
<h:outputText value="#{contato.id}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome" id="nome" />
</f:facet>
<h:outputText value="#{contato.nome}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Email" id="email" />
</f:facet>
<h:outputText value="#{contato.email}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Telefone" id="telefone" />
</f:facet>
<h:outputText value="#{contato.telefone}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Data de Nascimento" id="nascimento" />
</f:facet>
<h:outputText value="#{contato.nascimento}" />
</h:column>
</h:dataTable>
</f:view>
Segue o erro:
org.apache.jasper.JasperException: javax.servlet.jsp.JspException: Error getting property 'id' from bean of type javax.faces.model.SelectItem
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspException: Error getting property 'id' from bean of type javax.faces.model.SelectItem
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:842)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.jsp.listar_jsp._jspService(listar_jsp.java:104)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
root cause
javax.faces.el.PropertyNotFoundException: Error getting property 'id' from bean of type javax.faces.model.SelectItem
com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:127)
com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
javax.faces.component.UIOutput.getValue(UIOutput.java:167)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:102)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:221)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:199)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:740)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:473)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:277)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721)
javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:629)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:566)
com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
org.apache.jsp.jsp.listar_jsp._jspx_meth_h_005fdataTable_005f0(listar_jsp.java:188)
org.apache.jsp.jsp.listar_jsp._jspx_meth_f_005fview_005f0(listar_jsp.java:130)
org.apache.jsp.jsp.listar_jsp._jspService(listar_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.