我有一个使用Primefaces 3.2 / JSF2.0 / Mojarra / JBoss6的动态树。 我正在使用onNodeExpand方法成功添加子项。
public void onNodeExpand(NodeExpandEvent event){
if(selectedNode.type.equals("GrandParent")){
TreeNode parent = new DefaultTreeNode(data, event.getTreeNode());
//parent.setParent(event.getTreeNode());
parent.getChildren().add(new DefaultTreeNode(null, parent));
}
if(selectedNode.type.equals("Parent")){
TreeNode child = new DefaultTreeNode(childData, event.getTreeNode());
child.getChildren().add(new DefaultTreeNode(null, child));
}
}
树正确显示,但是当我尝试访问“Child”节点的祖父母时,我得到了一个NPE。
public void onNodeSelect(NodeSelectEvent event){
granPaNode = (NodeDto) event.getTreeNode().getParent().getParent().getData();
}
此代码适用于primefaces 2.2但不再适用于PF 3.2
任何想法如何解决这个问题而不在另一个结构中映射logicData?
非常感谢。