2

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: com.controlleurs.SelectBean@75c0452.onTabChange1(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 Answers1

0

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

Aviad
  • 1,539
  • 1
  • 9
  • 24