【问题标题】:tabview inside another tabview另一个选项卡视图中的选项卡视图
【发布时间】:2014-07-28 13:58:05
【问题描述】:

我正在尝试将一个 tabview 放在另一个 tabview 中,但是我在里面的 tabview 的 ajax 事件中收到错误,这是错误

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

这是我的 xhmtl 代码

        <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> 

请帮忙

【问题讨论】:

    标签: jsf jakarta-ee primefaces tabview


    【解决方案1】:

    在你的bean中他找不到方法..

    方法的签名应该是public void onTabChange(TabChangeEvent event)

    你的方法签名是这样的吗?

    为什么你有双 &lt;p:ajax event="tabChange"

    希望有所帮助

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 2010-12-15
      • 2012-08-14
      • 2015-11-24
      • 2017-10-31
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多