p:accordionPanel在JSF中不使用AJAX

p:accordionPanel在JSF中不使用AJAX,jsf,primefaces,Jsf,Primefaces,我的面板有这个问题。我试图使用一个功能,可以触发每当我改变该选项卡,但问题是,我没有得到任何东西。这是我的密码。希望你能帮助我 <h:form> <p:accordionPanel id="layerListAccordionPanel" multiple="true" activeIndex="-1" value="#{CompleterBean.liste}" var="cate

我的面板有这个问题。我试图使用一个功能,可以触发每当我改变该选项卡,但问题是,我没有得到任何东西。这是我的密码。希望你能帮助我

<h:form>
    <p:accordionPanel id="layerListAccordionPanel"
                      multiple="true" activeIndex="-1"
                      value="#{CompleterBean.liste}" var="category">

        <p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" />
        <p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" />

        <p:tab id="layerPanel" title="#{category.date_fin}" closable="true">
            Test
        </p:tab>
    </p:accordionPanel>
</h:form>

有一件事肯定是错的,那就是你把事情搞错了

 <p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" />
 <p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" />

宁可

 <p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" />
 <p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}" />

请注意,我已经切换了事件。然而,我怀疑这是你的问题中的一个输入错误,因为这个错误不会默默地失败,而是会在更改后破坏页面。如果您的支持bean正在影响您的视图,请确保正确设置了update属性,例如

 <p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" update=":form" />
 <p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}"  update=":form"/>

 <p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" update=":form" />
 <p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}"  update=":form"/>