Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf tabview primefaces中的第一个选项卡未调用tabClose方法_Jsf_Events_Primefaces_Tabs - Fatal编程技术网

Jsf tabview primefaces中的第一个选项卡未调用tabClose方法

Jsf tabview primefaces中的第一个选项卡未调用tabClose方法,jsf,events,primefaces,tabs,Jsf,Events,Primefaces,Tabs,我使用primefaces版本5.3和jsf版本2.2.6 我为tabview实现了一个tabClose ajax事件,但问题是,对于第一个选项卡,不会触发tabClose事件,也不会调用remove方法,对于所有其他选项卡,它都是,并且可以工作,我不明白为什么。 此外,如果我尝试关闭第一个选项卡,则所有选项卡都将关闭 代码如下所示: <p:tabView id="tabs" activeIndex="#{mainPage.index}"> <p:ajax ev

我使用primefaces版本5.3和jsf版本2.2.6

我为tabview实现了一个tabClose ajax事件,但问题是,对于第一个选项卡,不会触发tabClose事件,也不会调用remove方法,对于所有其他选项卡,它都是,并且可以工作,我不明白为什么。 此外,如果我尝试关闭第一个选项卡,则所有选项卡都将关闭

代码如下所示:

<p:tabView id="tabs" activeIndex="#{mainPage.index}">
        <p:ajax event="tabClose" listener="#{mainPage.remove}" update="formTabs" />
        <p:ajax event="tabChange" listener="#{mainPage.changeTab}" update="formTabs" />

        <c:forEach items="#{mainPage.tabs}" var="tab" varStatus="loop">
            <p:tab title="#{tab.title}" closable="true">
                <f:subview id="tab#{loop.index}">
                <ui:debug />
                    <ui:include src="#{tab.url}">
                        <ui:param name="focusedTab" value="#{tab.id}" />
                    </ui:include>
                </f:subview>
            </p:tab>
        </c:forEach>
    </p:tabView>


有人知道原因是什么吗?

通过在选项卡视图中添加dynamic=“true”解决了上述问题。但在那之后,出现了另一个障碍,当在标签之间切换时,所有标签都消失了。通过添加cache=“false”

解决了这一问题,起初我实现了这一点,但问题如下所述,然后我使用了您在那里所说的。Primefaces 5.3版