Hello!
The following code doesn't work:
<rich:tree value="#{testTreeBean.data}" treeNodeVar="item"> <rich:treeNode iconLeaf="images/tree/leaf.gif" icon="/images/tree/folder.gif" rendered="#{!item.error}"> <h:outputText value="#{item.data}" /> </rich:treeNode> <rich:treeNode iconLeaf="images/tree/leaf_e.gif" icon="/images/tree/folder_e.gif" rendered="#{item.error}"> <h:outputText value="#{item.data}" /> </rich:treeNode> </rich:tree>
public CustomTreeNode getData() { CustomTreeNode root = new CustomTreeNode(); root.setData("Root"); CustomTreeNode folder1 = new CustomTreeNode(); folder1.setData("folder1"); CustomTreeNode folder2 = new CustomTreeNode(); folder2.setData("folder2"); root.addChild(1, folder1); root.addChild(1, folder2); return root; }
public class CustomTreeNode extends TreeNodeImpl<String> { private boolean isError; public boolean isError() { return isError; } public void setError(boolean isError) { this.isError = isError; } }
Hello Alexey,
That's because of new nodes creating for model caching. I've filed JIRA issue: https://jira.jboss.org/jira/browse/RF-6745. Set preserveModel="none" to switch caching off.