Olá pessoal.
Bem eu tinha uma rich:tree recursiva com Richfaces 3.3 que funcionava normalmente, mas aí migramos pro jsf 2 e consequentemente migramos o richfaces também.
Aí começaram meus problemas, mas todos conseguimos contornar até o momento, mas então apareceu esse com a rich:tree e nada, então vou postar o código que estou utilizando e ve se alguém consegue dá uma luz.
Obs.: O código que vou postar está bem simplificado, o original é bem mais complexo, mas como eu tava tendo problema, resolvi tentar só o básico, mas ainda assim, não rolou.
Segue código:
Classe que eu criei pra ser o nó da árvore (Ela existe pois armazeno diversos dados nela)
public class TreeNodeAnalise {
private String label;
private List<TreeNodeAnalise> children;
private TreeNodeAnalise parent;
public TreeNodeAnalise() {
this("", null);
}
public TreeNodeAnalise(String label, TreeNodeAnalise parent) {
children = new ArrayList<TreeNodeAnalise>();
this.label = label;
this.parent = parent;
if (this.parent != null)
this.parent.addNode(this);
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public List<TreeNodeAnalise> getChildren() {
return children;
}
public TreeNodeAnalise getParent() {
return parent;
}
public void addNode(TreeNodeAnalise node) {
children.add(node);
}
}
Montagem da árvore (É só um teste)
nodesAnalise = new ArrayList<TreeNodeAnalise>();
TreeNodeAnalise root = new TreeNodeAnalise("Root", null);
TreeNodeAnalise children1 = new TreeNodeAnalise("Children1", root);
TreeNodeAnalise children2 = new TreeNodeAnalise("Children2", root);
TreeNodeAnalise children3 = new TreeNodeAnalise("Children3", children1);
nodesAnalise.add(root);
Página
<rich:tree var="node">
<rich:treeModelRecursiveAdaptor roots="#{beanAnaliseProjeto.nodesAnalise }" nodes="#{node.children }">
<rich:treeNode>
#{node.label }
</rich:treeNode>
</rich:treeModelRecursiveAdaptor>
</rich:tree>
Bem, desse jeito só aparece o nó root, quando clico no + pra expandir não acontece nada. Alguém?