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 2 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:

|