Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
p:树ajax事件正在更新其他组件_Ajax_Jsf_Primefaces_Tree_Spring Webflow - Fatal编程技术网

p:树ajax事件正在更新其他组件

p:树ajax事件正在更新其他组件,ajax,jsf,primefaces,tree,spring-webflow,Ajax,Jsf,Primefaces,Tree,Spring Webflow,我对p:tree组件的ajax事件有问题 下面是xhtml代码: <form id="form1"> <!-- Other components --> <p:panel id="panel1" binding="#{panel1}" header="..." toggleable="true" toggleSpeed="500" collapsed="false" dynamic="true" rendered="#{service.c

我对
p:tree
组件的ajax事件有问题

下面是xhtml代码:

<form id="form1">

<!-- Other components -->

<p:panel id="panel1" binding="#{panel1}"
    header="..." toggleable="true" toggleSpeed="500"
    collapsed="false" dynamic="true"
    rendered="#{service.checkMethod(...)}">
    <div class="column">
        <p:tree id="treeId" value="#{tree.root}"
            var="node" selectionMode="single"
            rendered="#{tree != null}"
            selection="#{flowScope.selectedNode}"
            widgetVar="treeId"
            process="tree">

            <p:ajax event="select" process="@this"
                update="@this :#{anotherPanel.clientId} :#{anotherPanel2.clientId}"
                listener="#{service.onNodeSelect}" oncomplete="setSelectedNode()" />

            <p:ajax event="expand" process="@this" listener="#{service.onNodeExpand}" />
            <p:ajax event="collapse" process="@this" listener="#{service.onNodeCollapse}" />

            <p:treeNode>
                <h:outputLabel value="#{node.attribute}" />
            </p:treeNode>
        </p:tree>
        <h:outputLabel
            value="Empty"
            rendered="#{tree.isEmpty()}" />
    </div>
</p:panel>

<!-- Other components -->
</form>

panel1 rendered属性有一个方法,每次更新时都会创建一个新的树,但是树上的所有ajax事件都在调用该方法。即使是没有定义更新的扩展和折叠更新也在这样做

我已经尝试过在所有ajax事件上使用不同类型的更新和过程来放置
global=“false”、immediate=“true”
,或者在树和面板之间放置其他面板,但效果相同。我用Eclipse搜索了我所有的文件,以确保这个方法没有在其他地方调用,但它只在这里使用

有没有办法防止树ajax事件重新呈现上述面板