2014-04-28 3 views
0

Я разрабатываю проект JSf со швом, моя версия JSF1.2. Я также использую Primefaces для пользовательского интерфейса. Я ищу выход для dataTable, который использует список данных, предоставляемых значением идентификатора выпадающего списка. Он должен изменить dataTable, изменяя значение выпадающего списка. Я сбиваю с толку с JSF1.2, потому что jsf2 обрабатывает это с помощью f: ajax.datatable refreshing при выборе dropdown

Может ли кто-нибудь предложить правильный путь в этом, чтобы продолжить? Я получаю dataTable как пустой. Пожалуйста, напишите мой код ниже.

Мой XHTML Страница:

     <h:form class="input-list"> 
          <h:selectOneMenu tabindex="1" id="yearId" value="#{transactionListAction.yearId}"> 
           <f:selectItems value="#{yearListAction.yearTypeList}" var="year" itemLabel="#{year.year}" itemValue="#{year.yearId}" /> 
           <p:ajax event="change" process="@this" partialSubmit="true" update="datatable" listener="#transactionListAction.yearTransactions}" /> 
          </h:selectOneMenu> 

          <!-- {RowsPerPageDropdown}--> 
          <p:dataTable id="statementTable" emptyMessage="You dont have Statements in this financial year" value='#{transactionListAction.yearTransactions}' var="transaction" dynamic="false" width="99.9%" loadingMessage="List of Transaction being loaded"> 

ActionClass:

  @Name("transactionListAction") 
      @Stateless 
      @AutoCreate 
      public class TransactionListActionImpl implements TransactionListAction { 

       @In 
       protected TransactionService transactionService; 

       private Integer yearId; 

       private static final long serialVersionUID = 8649412602585430272L; 

       public List<Transaction> getTransactionList() { 
        return transactionService.getAllTransactions(); 
       } 

       public List<Transaction> getYearTransactions() { 
        return transactionService.getByYearId(yearId); 
       } 

       public Integer getYearId() { 
        return yearId; 
       } 

       public void setYearId(Integer yearId) { 
        this.yearId = yearId; 
       } 
      } 

Error Log:

  16:06:52,625 WARN [lifecycle] JSF1053: (Listener: org.primefaces.application.PostRestoreViewHandler.afterPhase(), Phase ID: RESTORE_VIEW 1, View ID: /secure/userhome.xhtml) Exception thrown during phase-listener execution: javax.faces.FacesException: javax.el.ELException: /secure/userhome.xhtml @38,56 value="#{userListAction.usersList}": Error reading 'usersList' on type org.javassist.tmp.java.lang.Object_$$_javassist_seam_29 
      16:06:52,625 WARN [lifecycle] javax.faces.component.UIData.getValue(UIData.java:612) 
      javax.faces.component.UIData.getDataModel(UIData.java:1124) 
      javax.faces.component.UIData.setRowIndex(UIData.java:451) 
      javax.faces.component.UIData.invokeOnComponent(UIData.java:881) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731) 
      javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675) 
      org.primefaces.application.PostRestoreViewHandler.buildPartialView(PostRestoreViewHandler.java:71) 
      org.primefaces.application.PostRestoreViewHandler.afterPhase(PostRestoreViewHandler.java:47) 
      com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
      com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 
      com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104) 
      com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
      javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:374) 
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
      org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
      org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
      org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
      org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
      org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
      org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
      java.lang.Thread.run(Thread.java:662) 

      16:06:52,640 ERROR [SeamPhaseListener] swallowing exception 
      java.lang.IllegalStateException: No active conversation context 
       at org.jboss.seam.pageflow.Pageflow.instance(Pageflow.java:85) 
       at org.jboss.seam.jsf.SeamNavigationHandler.handleNavigation(SeamNavigationHandler.java:38) 
       at org.jboss.seam.navigation.Pages.handleOutcome(Pages.java:653) 
       at org.jboss.seam.navigation.Page.preRender(Page.java:313) 
       at org.jboss.seam.navigation.Pages.preRender(Pages.java:351) 
       at org.jboss.seam.jsf.SeamPhaseListener.preRenderPage(SeamPhaseListener.java:560) 
       at org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:471) 
       at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:147) 
       at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:117) 
       at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214) 
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96) 
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:374) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
       at java.lang.Thread.run(Thread.java:662) 

      16:06:52,656 WARN [Component] Cannot create Seam component, scope is not active: org.jboss.seam.core.conversation(CONVERSATION) 
      16:06:52,656 ERROR [viewhandler] Error Rendering View[/secure/userhome.xhtml] 
      java.lang.IllegalStateException: No active conversation context 
       at org.jboss.seam.core.Conversation.instance(Conversation.java:122) 
       at org.jboss.seam.ui.component.UIConversationId.getName(UIConversationId.java:44) 
       at org.jboss.seam.ui.util.ViewUrlBuilder.addParameter(ViewUrlBuilder.java:42) 
       at org.jboss.seam.ui.component.UISeamCommandBase.getUrl(UISeamCommandBase.java:87) 
       at org.jboss.seam.ui.renderkit.LinkRendererBase.doEncodeBegin(LinkRendererBase.java:26) 
       at org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79) 
       at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813) 
       at javax.faces.component.UIComponent.encodeAll(UIComponent.java:934) 
       at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942) 
       at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) 
       at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109) 
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:374) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
       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.StandardHostValve.invoke(StandardHostValve.java:127) 
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
       at java.lang.Thread.run(Thread.java:662) 
      16:06:52,671 ERROR [lifecycle] JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /secure/userhome.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[[email protected]] 
      16:06:52,671 WARN [SeamPhaseListener] uncaught exception, passing to exception handler 
      java.lang.IllegalStateException: No active conversation context 
       at org.jboss.seam.core.Conversation.instance(Conversation.java:122) 
       at org.jboss.seam.faces.FacesManager.prepareBackswitch(FacesManager.java:260) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:503) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:248) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:195) 
       at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:374) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
       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:230) 
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
       at java.lang.Thread.run(Thread.java:662) 
      16:06:52,671 ERROR [SeamPhaseListener] swallowing exception 
      java.lang.IllegalStateException: No active conversation context 
       at org.jboss.seam.core.Conversation.instance(Conversation.java:122) 
       at org.jboss.seam.faces.FacesManager.prepareBackswitch(FacesManager.java:260) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:503) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:248) 
       at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:195) 
       at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:374) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
       at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
       at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
       at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
       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:230) 
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
       at java.lang.Thread.run(Thread.java:662) 

ответ

1

Вы можете справиться с AJAX в JSF 1.2 также с р: Ajax обеспечивается primefaces.

Прежде всего удалите onChange="document.datsForm.submit()" из h:selectOneMenu и добавьте в качестве дочернего компонента вашего выбранного меню.

<p:ajax event="change" process="@this" partialSubit="true" update="datatable" 
      listener="#transactionListAction.onYearChange}"/> 

Вы не указали какой-либо идентификатор формы, связанной с данными, которая не является хорошей практикой. Дайте идентификатор форме и укажите datatable как :formId:datatable. Выше update="datatable" работает только в том случае, если выпадающее меню и данные находятся в одной и той же форме.

метод Declare в классе действий, как

  public void onYearChange() { 
      transActionsList = transactionService.getByYearId(yearId); 
     } 

объявить переменную List<Transaction> transActionsList в своем классе и привязать его к значению DataTable. Вы не должны выполнять какие-либо действия в методе getter, потому что jsf framework вызывает геттеры и сеттеры несколько раз, что приводит к нескольким ударам в db.

Надеюсь, что это поможет.

+0

Спасибо за ваши ответы. Я изменил код, как сказал Шрикант. Я использую Seam с этим проектом jsf. Значение dataTable покажет данные на данный момент, так как я вызываю этот метод value = transactionListAction.yearTransactions. Пожалуйста, исправьте меня, если что-нибудь ошибусь. Поэтому я вызываю этот же метод в слушателе ajax, потому что я получаю вывод без проблем. Никаких исключений при выполнении этого, но консоль отображает следующий отчет об ошибке при изменении выпадающих значений. @ Шрикант, вы можете помочь мне в том, что происходит не так в моем потоке? – DevGo

+0

Прежде всего, не делайте никакого вызова базы данных в методах getter, как я упоминал в своем ответе, потому что getters будут многократно вызывать jsf framework, поэтому ваша система станет медленной, если данные будут огромными, и это очень плохая практика. И ваша ошибка говорит, что он не может прочитать значение = "# {userListAction.usersList}". где именно он находится в вашем xhtml. –

+0

Благодарим за руководство и приношу свои извинения за ошибки, даже после того, как вы предложите в предыдущем ответе. Я удалил линии и снова попытался, теперь все работает хорошо. Но при изменении выпадающего списка данные не изменяются. Консоль говорит, что «ПРЕДУПРЕЖДЕНИЕ: Компонент» datatable «не обнаружен, чтобы быть обновленным частично». – DevGo

Смежные вопросы