how to set object' s field to treeNode as label

UI Components for JSF
Post Reply
User avatar
demdem.tr
Posts: 3
Joined: 23 May 2012, 09:56

23 May 2012, 10:56

Hello everyone, my problem is that, when I set the object to treeNode it only shows Object's toString() value as a label. But I would like to show object' s name attribute.
Here is my xhtml' page:

Code: Select all

<p:growl id="messages" showDetail="true" />
<p:tree value="#{myBean.root}" var="node" dynamic="false"
    cache="true" selectionMode="single"
    selection="#{myBean.selectedNode}" id="tree">
    <p:treeNode>
        <h:outputText value="#{node}" />
    </p:treeNode>
</p:tree>
And here is my bean class:

Code: Select all

@Named
public class MyBean{
        private TreeNode root;
	private TreeNode selectedNode;
        public void onPageLoad() {
		root = new DefaultTreeNode("", null);
                .......
                DefaultTreeNode treeNode = new DefaultTreeNode(myClass, root);
		fillTree(treeNode);
        }

	private void fillTree(TreeNode parentNode) {
        .....
		for (MyClass myClass : ((MyClass) parentNode.getData()).getMyClass().getChildren()) {
			TreeNode treeNode = new DefaultTreeNode(myClass, parentNode);
			fillTree(treeNode);
		}
	}

	public TreeNode getRoot() {
		return root;
	}

	public void setRoot(TreeNode root) {
		this.root = root;
	}

	public TreeNode getSelectedNode() {
		return selectedNode;
	}

	public void setSelectedNode(TreeNode selectedNode) {
		this.selectedNode = selectedNode;
	}
}
According to these, I would like to set my class's any attribute(ex:MyClass.name) as a label to treeNode instead of object' s toString() value.
Can anyone give solution for this?
Thanks,

demdem
demdem.tr
Majorra 2.2 / primefaces 3.2 / JBoss AS 7.1.1 FINAL / FIREFOX-CHROME

User avatar
T.dot
Expert Member
Posts: 620
Joined: 01 Feb 2012, 15:39
Location: Vienna/Austria

23 May 2012, 11:48

Something like

Code: Select all

<p:treeNode>
  <h:outputText value="#{node.name}" />
</p:treeNode>
?

User avatar
demdem.tr
Posts: 3
Joined: 23 May 2012, 09:56

23 May 2012, 12:10

T.dot wrote:Something like

Code: Select all

<p:treeNode>
  <h:outputText value="#{node.name}" />
</p:treeNode>
?
Thanks, that is solved my problem.
demdem.tr
Majorra 2.2 / primefaces 3.2 / JBoss AS 7.1.1 FINAL / FIREFOX-CHROME

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 30 guests