Getting error when binding a dataTable to a backbean compone
lle Dec 19, 2006 11:14 PMHi,
I have a t:dataTable that binds to a backbean's component as follows:
<t:dataTable id="sessionTable" forceId="true" var="sess" value="#{alertsList}" border="0" cellpadding="0" cellspacing="0" styleClass="listView" width="100%" renderedIfEmpty="true" binding="#{alertssearch.sessionTable}" forceIdIndexFormula="#{sess.id}" rowId="#{sess.id}" rowIndexVar="rowIndex" rowOnClick="selectRow(this.id, #{rowIndex});" />
Here is part of the backing bean's code:
@Name("alertssearch") @Scope(ScopeType.SESSION) @GALoggedIn public class GASessionSearchAction { @In private Session gadb; @In(create=true) @Out private GAFilter sessionfilter; @In private GAHostAppInfo hostApp; @In private FacesMessages facesMessages; @Logger private Log log; @DataModel private List<GASession> alertsList; @DataModelSelection @Out(required=false) private GASession selectedSession; private HtmlDataTable sessionTable; public HtmlDataTable getSessionTable() { if (this.sessionTable == null) { sessionTable = populateSessionTable(); } return sessionTable; } public void setSessionTable(HtmlDataTable sessionTable) { this.sessionTable = sessionTable; } ...
The first time I got to the page, the table was rendered fine with no row of course since the data model is empty. When I click on the Search button to execute an ajax request, I got the following exception.
javax.faces.el.EvaluationException: /main.xhtml @106,52 binding="#{alertssearch.sessionTable}": Exception setting property sessionTable of base with class com.ga.riskapp.session.action.GASessionSearchAction$$EnhancerByCGLIB$$bb9eb7c7 at com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.java:74) at org.apache.myfaces.shared_impl.util.RestoreStateUtils.recursivelyHandleComponentReferencesAndSetValid(RestoreStateUtils.java:86) at org.apache.myfaces.shared_impl.util.RestoreStateUtils.recursivelyHandleComponentReferencesAndSetValid(RestoreStateUtils.java:57) at org.apache.myfaces.shared_impl.util.RestoreStateUtils.recursivelyHandleComponentReferencesAndSetValid(RestoreStateUtils.java:94) at org.apache.myfaces.shared_impl.util.RestoreStateUtils.recursivelyHandleComponentReferencesAndSetValid(RestoreStateUtils.java:57) at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:96) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) 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:147) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:326) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:290) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:213) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75) at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213) 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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 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: javax.faces.el.EvaluationException: Bean: com.ga.riskapp.session.action.GASessionSearchAction$$EnhancerByCGLIB$$bb9eb7c7, property: sessionTable, newValue: org.apache.myfaces.component.html.ext.HtmlDataTable@d1223d,newValue class: org.apache.myfaces.component.html.ext.HtmlDataTable method parameter class: org.apache.myfaces.component.html.ext.HtmlDataTable at org.apache.myfaces.el.PropertyResolverImpl.setProperty(PropertyResolverImpl.java:414) at org.apache.myfaces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:176) at com.sun.facelets.el.LegacyELContext$LegacyELResolver.setValue(LegacyELContext.java:201) at com.sun.el.parser.AstValue.setValue(AstValue.java:140) at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:255) at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:93) at com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.java:68) ... 42 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.myfaces.el.PropertyResolverImpl.setProperty(PropertyResolverImpl.java:409) ... 48 more Caused by: java.lang.NullPointerException at org.jboss.seam.core.Exceptions$DebugPageHandler.handle(Exceptions.java:372) at org.jboss.seam.core.Exceptions.handle(Exceptions.java:60) at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:44) at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.seam.util.Reflections.invoke(Reflections.java:18) at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64) at org.jboss.seam.interceptors.SynchronizationInterceptor.serialize(SynchronizationInterceptor.java:30) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.seam.util.Reflections.invoke(Reflections.java:18) at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64) at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:148) at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:144) at org.jboss.seam.intercept.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:79) at com.ga.riskapp.session.action.GASessionSearchAction$$EnhancerByCGLIB$$bb9eb7c7.setSessionTable(<generated>)
The same thing works before I integrated the app with Seam.
Any of you know what's going on?
Thanks.