p: метод приемника события выбора узла дерева не вызывается - PullRequest
0 голосов
/ 18 ноября 2011

Я использую PrimeFaces 3.0.M4. Я хочу обновить содержимое модуля макета PrimeFaces при выборе узла дерева. Я добавил следующие методы к своему компоненту поддержки:

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 голосов
/ 18 ноября 2011

Что это значит update test?

Вы должны опубликовать весь код XHTML! Также вы не должны пытаться обновить весь layoutUnit, а вместо этого обновить свою форму (update="myFormId" или update=":myFormId") или даже панель внутри формы, например: update=":myFormId:myPanelId".

...