Primefaces 崩溃的p:树

Primefaces 崩溃的p:树,primefaces,Primefaces,我有一个用作菜单的树,因此每个节点都可以单击并打开另一个*.xhtml文件。该树显示在每个带有模板的*.xhtml文件上 问题:如果重定向到*.xhtml文件,树将崩溃。令人惊讶的是,所选节点仍处于选中状态(其颜色与所选节点相同)。这棵树不应该倒 树是动态生成的,但只生成一次 使用底漆面2.2.1和3.0.M2进行测试 我怎样才能解决这个问题?在primefaces展示这一作品 我的代码: <h:form id="formTreeStudents"> <p:tree id

我有一个用作菜单的树,因此每个节点都可以单击并打开另一个*.xhtml文件。该树显示在每个带有模板的*.xhtml文件上

问题:如果重定向到*.xhtml文件,树将崩溃。令人惊讶的是,所选节点仍处于选中状态(其颜色与所选节点相同)。这棵树不应该倒

树是动态生成的,但只生成一次

使用底漆面2.2.1和3.0.M2进行测试

我怎样才能解决这个问题?在primefaces展示这一作品

我的代码:

<h:form id="formTreeStudents">
   <p:tree id="treeGroups"
        value="#{studentTree.root}"
        var="node"
        cache="true"
        selectionMode="single"
        nodeSelectListener="#{studentTree.onNodeSelect}"
        selection="#{studentrTree.selectedNode}"
        onselectComplete="ajaxDialog.show();"
        update="statusbar userbar">
      <p:treeNode>
        <h:outputText value="#{node.treeString}" styleClass="treeNodeParent"/>
      </p:treeNode>
    </p:tree>
    <p:ajax event="load" onstart="ajaxDialog.hide();"/>
</h:form>

树节点保持选中状态,因为托管bean的属性
#{studentrTree.selectedNode}
有一个值

您的托管bean是
@SessionScoped
,因此即使在您离开或返回页面后,它仍将处于会话中。如果将其更改为
@ViewScoped
,则当导航离开页面时,托管bean将死亡,当导航回页面时,属性
selectedNode
将再次成为其默认值。

解决了此问题

它与Primefaces 3.0.M2配合使用。我的库或缓存数据有问题。 为了使用3.0.2平方米,必须进行一些更改

f、 e:

现在被替换为

<p:ajax event="select" listener="#{studentTree.onNodeSelect}"/>

也许我的问题不够清楚;)现在我知道了为什么节点保持选中状态,但为什么即使在会话范围内,树也会崩溃?它不应该那样做。
nodeSelectListener="#{studentTree.onNodeSelect}"
<p:ajax event="select" listener="#{studentTree.onNodeSelect}"/>