p:不调用树节点选择事件侦听器方法

时间:2011-11-18 12:53:19

标签: jsf-2 primefaces

我正在使用PrimeFaces 3.0.M4。我想在树节点选择上更新PrimeFaces布局单元的内容。我已将以下方法添加到我的支持bean:

public void setSelectedNode(TreeNode selectedNode) {
   this.selectedNode = selectedNode;
   this.selectedNode.setSelected(true);
}

public void onNodeSelect(NodeSelectEvent e) {
   this.setSelectedNode(e.getTreeNode());
}

在视图中我使用ajax来触发onNodeSelect()侦听器方法:

<p:tree id="tree"  value="#{treeBean.root}" selection="#{treeBean.selectedNode}"     var="node" selectionMode="single" dynamic="true"  cache="false" >
  <p:ajax listener="#{treeBean.onNodeSelect}" update="test" event="select"/>
  <p:treeNode>
    <h:outputText value="#{node}"/>
  </p:treeNode>
</p:tree>

注意:树在另一个PrimeFaces布局单元内。

但是当我运行它时,根本不会调用onNodeSelect()方法。这是怎么造成的,我该如何解决?

1 个答案:

答案 0 :(得分:0)

update test是什么意思?

你应该发布你的整个xhtml代码!另外,您不应该尝试更新整个layoutUnit,而是更新表单(update="myFormId"update=":myFormId"),甚至更新表单中的面板,如下所示:update=":myFormId:myPanelId"