JSF dataTable - objeto null

1 resposta
F

bom dia,

pessoal tenho o seguinte problema, monto um view para exibir em um dataTable, com 4 objetos. Só que num primeiro momento um objeto é nulo e  página não exibe apresentando erro abaixo.
javax.faces.el.PropertyNotFoundException: Bean: br.com.garantech.seguros.business.objects.entities.EmissionView, property: twarEndorsement

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:483)

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:454)

at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:417)

at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:82)

at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:532)

at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)

at org.apache.commons.el.BinaryOperatorExpression.evaluate(BinaryOperatorExpression.java:154)

at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)

at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1075)

at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:270)

at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java:123)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)

at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:480)

at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:361)

at org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:54)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_h_dataTable_0(endorsement_jsp.java:579)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_h_form_0(endorsement_jsp.java:256)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_f_view_0(endorsement_jsp.java:200)

at org.apache.jsp.jsp.endorsement_jsp._jspService(endorsement_jsp.java:127)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)

at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)

at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

30/09/06 09:25:33 ERROR http-8080-Processor23 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/insurance].[jsp] - Servlet.service() for servlet jsp threw exception

javax.faces.el.PropertyNotFoundException: Bean: br.com.garantech.seguros.business.objects.entities.EmissionView, property: twarEndorsement

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:483)

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:454)

at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:417)

at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:82)

at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:532)

at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)

at org.apache.commons.el.BinaryOperatorExpression.evaluate(BinaryOperatorExpression.java:154)

at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)

at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1075)

at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:270)

at org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java:123)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)

at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:480)

at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:361)

at org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:54)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_h_dataTable_0(endorsement_jsp.java:579)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_h_form_0(endorsement_jsp.java:256)

at org.apache.jsp.jsp.endorsement_jsp._jspx_meth_f_view_0(endorsement_jsp.java:200)

at org.apache.jsp.jsp.endorsement_jsp._jspService(endorsement_jsp.java:127)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)

at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)

at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

30/09/06 09:25:33 ERROR http-8080-Processor23 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/insurance].[Faces Servlet] - Servlet.service() for servlet Faces Servlet threw exception

javax.faces.FacesException: Bean: br.com.garantech.seguros.business.objects.entities.EmissionView, property: twarEndorsement

at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:422)

at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)

at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

Caused by: org.apache.jasper.JasperException: Bean: br.com.garantech.seguros.business.objects.entities.EmissionView, property: twarEndorsement

at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)

 23 more

Num segundo momento esse objeto virá com dados.

tentei usar a estratégia de somente renderizar a coluna com o objeto for diferente de vazio(!empty mb.list).

Se alguém já passou por este problema e puder auxiliar.

Abraços a todos.

1 Resposta

L

Não lembro exatamente o comportamento quando vem um objeto nulo, mas acredito que na pilha de erros teria um "Caused by: NullPointerException ".

Tenta fazer uma lista na mão e jogar pra essa dataTable sem nenhum valor nulo e vê se o erro continua ocorrendo.
Se continuar o mesmo erro, não é causado pelo objeto ser nulo.

Estava olhando novamente a pilha de erros e vi o “javax.faces.el.PropertyNotFoundException: Bean: br.com.garantech.seguros.business.objects.entities.EmissionView, property: twarEndorsement”.
Isso geralmente é causado quando ele não acha o campo que você está tentando acessar, ou seja, ele provavelmente não encontrou na classe “EmissionView” o método “getTwarEndorsement()”.

O JSF vai sempre fazer o acesso às variáveis utilizando métodos Getters (e somente de instância, se for static dá pau também).

Dá uma olhada no teu código, qualquer errinho com a assinatura do método getter já é o suficiente pro JSF encrencar.

Qualquer coisa, posta aqui o código do JSP que tem esse dataTable e da classe “EmissionView”.

Criado 30 de setembro de 2006
Ultima resposta 1 de out. de 2006
Respostas 1
Participantes 2