tree and treenode (Ajax Tag) tags Example

In this section, you will learn about the tree and treenode tags. These both work with the Ajax support.

tree and treenode (Ajax Tag) tags Example

tree and treenode (Ajax Tag) tags Example

     

In this section, you will learn about the tree and treenode tags. These both work with the Ajax support.

tree: This is a tree widget with AJAX support. Normally this tag uses the "id" attribute. The "id" attribute is required if the "selectedNotifyTopic" or the "href" attribute is going to be used.

treenode: This is a tree node which renders a tree node within a tree widget with AJAX support. The following of the two combinations are used depending on the requirement like the tree is needed to be constructed dynamically or statically.
Dynamically

  • id - This is an id of tree node.
  • title - This is as like a label to be displayed for the tree node

Statically

  • rootNode - This is the parent node where the tree is derived form.
  • nodeIdProperty - This is the current tree node's id.
  • nodeTitleProperty - This is the current tree node's title.
  • childCollectionProperty - This is the current tree node's children.

Add the following code snippet to the struts.xml file.
struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
  <!-- Rose India Struts Tutorials -->
  <constant name="struts.enable.DynamicMethodInvocation" value="false" />
  <constant name="struts.devMode" value="true" />

  <package name="roseindia" namespace="/roseindia" extends="struts-default">

  
  <action name="TreeNode">
  <result>/pages/treenode.jsp</result>
  </action>

 <!-- Add actions here -->
  </package>


  <!-- Add packages here -->

</struts>

Create a jsp using the tag <s:tree>. This tag is used for rendering a tree widget.

Similarly the tag
<s:treenode> renders a tree node with a label attached to the created tree widget eg..
 <s:treenode theme="ajax" id="subchild2" label="subchild2" /> tag attaches a new node to the created tree with a tree node having id="subchild2" and a label="subchild2".

treenode.jsp

<%taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <s:head theme="ajax" debug="true"/>
  </head>
  <body>
  <s:tree theme="ajax" id="root" label="Root">
  <s:treenode theme="ajax" id="child1" label="<b>Child 1</b>" />
  <s:treenode theme="ajax" id="subchild1" label="SubChild 1">
  <s:treenode theme="ajax" id="subchild2" label="SubChild 2" />
  <s:treenode theme="ajax" id="subchild3" label="SubChild 3" />
  </s:treenode>
  <s:treenode theme="ajax" id="child2" label="<b>child 2</b>" />
 </s:tree>
  </body>
</html>

Output:

When you run the above example, you get: