2
votes

i 'am trying to put a tabview inside a another tabview but i get error in the ajax event from the tabview inside here is the error

javax.el.MethodNotFoundException: Method not found: [email protected](javax.faces.event.AjaxBehaviorEvent) at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:249) at org.apache.el.parser.AstValue.invoke(AstValue.java:271) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273) at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processCustomListener(AjaxBehaviorListenerImpl.java:87) at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processArgListener(AjaxBehaviorListenerImpl.java:72) at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:56) at javax.faces.event.AjaxBehaviorEvent.processListener(AjaxBehaviorEvent.java:113) at javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:106) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:804) at javax.faces.component.UIData.broadcast(UIData.java:1086) at javax.faces.component.UIData.broadcast(UIData.java:1108) at javax.faces.component.UIData.broadcast(UIData.java:1108) at javax.faces.component.UIData.broadcast(UIData.java:1108) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

here is my xhmtl code

        <h:form id="form">
            <p:tabView id="my"  >

                <p:tab id="tabview" title="Ressources Humaines">
                <p:tabView    activeIndex="#{SelectBean.activeTab}" value="#{SelectBean.types}" var="item"    >
                <p:ajax event="tabChange" listener="#{SelectBean.onTabChange}" update=":form" />
                <p:tab title="#{item}"> 
                <p:tabView  id="tab"  activeIndex="#{SelectBean.other}"   value="#{SelectBean.res}" var="rr">
                <p:ajax event="tabChange" listener="#{SelectBean.onTabChange1}"  />
                <p:tab title="#{rr.nom_ressource}">
                <h:panelGrid>
                <h:graphicImage value="Ressources/images/emp.jpg"  style="vertical-align:middle" /> 
                <span style="font-size:15px; width:170px; display:inline-block;"> Nom : #{rr.nom_ressource} Type: #{rr.type_ressource} Specification: #{rr.experience}  </span>

                <h:commandButton image="Ressources/images/delete.jpg"  actionListener="#{SelectBean.act}" update=":form"  style="vertical-align:middle" >
                Supprimer
                </h:commandButton>
                <h:commandButton image="Ressources/images/update.png"   style="vertical-align:middle" >
                Modifier
                </h:commandButton>
                </h:panelGrid>
                </p:tab>
                </p:tabView> 
                </p:tab>



            </p:tabView>

           </p:tab>
             <p:tab title="Ressources Materielle">
             </p:tab>
          </p:tabView>
            </h:form> 

anyhelp please

1

1 Answers

0
votes

In your bean he cant find the method..

The signature of the method should be public void onTabChange(TabChangeEvent event)

This is how your method signature looks like?

Why you have double <p:ajax event="tabChange"

Hope that help