我正在使用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()
方法。这是怎么造成的,我该如何解决?
答案 0 :(得分:0)
update test
是什么意思?
你应该发布你的整个xhtml代码!另外,您不应该尝试更新整个layoutUnit,而是更新表单(update="myFormId"
或update=":myFormId"
),甚至更新表单中的面板,如下所示:update=":myFormId:myPanelId"
。