4 Replies Latest reply on Dec 23, 2009 7:45 PM by nbelaevski

    Exception while sorting and filtering

      I get the below exception when I click on the header of a datatable for sorting and also while filtering the data, does anyone has a solution for this?

       

      any help is greatly appreciated.

       


      java.util.MissingResourceException: Can't find bundle for base name com.sun.el.Messages, locale en_US
          at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521)
          at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)
          at java.util.ResourceBundle.getBundle(ResourceBundle.java:715)
          at com.sun.el.util.MessageFactory.<clinit>(Unknown Source)
          at com.sun.el.parser.AstValue.getTarget(Unknown Source)
          at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
          at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
          at org.richfaces.component.UIColumn.setFilterValue(UIColumn.java:172)
          at org.richfaces.renderkit.AbstractTableRenderer.doDecode(AbstractTableRenderer.java:573)
          at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:75)
          at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:789)
          at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1141)
          at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1150)
          at javax.faces.component.UIForm.processDecodes(UIForm.java:208)
          at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:395)
          at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:235)
          at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412)
          at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
          at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
          at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
          at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
          at java.lang.Thread.run(Thread.java:619)
      Dec 23, 2009 3:01:10 AM org.apache.catalina.core.StandardWrapperValve invoke
      SEVERE: Servlet.service() for servlet Faces Servlet threw exception
      java.lang.NoClassDefFoundError: Could not initialize class com.sun.el.util.MessageFactory
          at com.sun.el.parser.AstValue.getTarget(Unknown Source)
          at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
          at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
          at org.richfaces.component.UIColumn.setFilterValue(UIColumn.java:172)
          at org.richfaces.renderkit.AbstractTableRenderer.doDecode(AbstractTableRenderer.java:573)
          at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:75)
          at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:789)
          at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1141)
          at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1150)
          at javax.faces.component.UIForm.processDecodes(UIForm.java:208)
          at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:395)
          at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:235)
          at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412)
          at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
          at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
          at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
          at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
          at java.lang.Thread.run(Thread.java:619)

       

      Here is my code:

      <rich:dataTable value="#{tableDataBean.model}" var="model"
                          width="750">
                          <rich:columns value="#{tableDataBean.columns}" var="columns"
                              index="ind" id="column#{ind}" sortBy="#{model[ind].value}" sortable="true"
                              filterBy="#{model[ind].value}" filterEvent="onkeyup" filterValue="#{model[ind].value}">
                              <f:facet name="header">
                                  <h:outputText value="#{columns.header}" />
                              </f:facet>
                              <h:outputText value="#{model[ind].value}" />
                          </rich:columns>
                      </rich:dataTable>

        • 1. Re: Exception while sorting and filtering
          ilya_shaikovsky
          filterValue="#{model[ind].value}" definition is wrong. You trying to set the current filter value to table iteration variable. Check the richfaces-demo columns sample to check how storing current sorting state implemented.
          1 of 1 people found this helpful
          • 2. Re: Exception while sorting and filtering
            nbelaevski
            Use el-ri.jar from JBoss.org repository: http://repository.jboss.org/maven2/javax/el/el-ri/1.2/
            1 of 1 people found this helpful
            • 3. Re: Exception while sorting and filtering

              after adding the el-ri-1.2.jar the exception is gone, however the sorting does not work. Below is my modified code:

               

              <rich:dataTable id="dynamicDataTable" value="#{tableDataBean.model}" var="model"
                                  width="750" sortMode="single">
                                  <rich:columns value="#{tableDataBean.columns}" var="columns"
                                      index="ind" id="column#{ind}" sortBy="#{model[ind].value}">
                                      <f:facet name="header">
                                          <h:outputText value="#{columns.header}" />
                                      </f:facet>
                                      <h:outputText value="#{model[ind].value}" />
                                  </rich:columns>
                              </rich:dataTable>

              • 4. Re: Exception while sorting and filtering
                nbelaevski
                Try Ilya's suggestion then.