You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Ba...@kp.org on 2009/06/19 16:42:51 UTC

Fw: Struts2 dynamic tree error -- able to solve this issue

Hi All, 

Write some html page to call action for tree - home.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
        <head>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=treesupport.action">
        </head>
        <body>
                <h3>One moment please.</h3>
        </body>
</html>

Include Struts and Extended dojo tag libraries in your web-inf/lib folder

Below is the JSP page that will execute upon success of 
treesupport.action, Named that as tree2.jsp

<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<head>
<title>Tree</title>
<sx:head parseContent="false"/>
<script type="text/javascript" src="../dojo/dojo/dojo.js"
        djConfig="isDebug: false, parseOnLoad: true"></script>
<script type="text/javascript">
dojo.event.topic.subscribe("nodeSelected", function(source) {
    var selectedNode = source.node;
    alert("You selected node " + selectedNode.title);
});
</script>
</head>
<body>
<sx:tree rootNode="rootNode"
                 childCollectionProperty="children"
                 nodeTitleProperty="title"
         nodeIdProperty="id"
         selectedNotifyTopics="nodeSelected"    >
</sx:tree>
</body>
</html>

In Struts.xm, call the treesupport action on success return tree2.jsp

<?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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" 
/>
    <constant name="struts.devMode" value="false" />

     <package name="default" namespace="/" extends="struts-default">
                <action name="treesupport" 
class="org.kp.sample.TreeSupport">
        <result>/paytools2/tree2.jsp</result>
        </action>
    </package>

 
    <!-- Add packages here -->

</struts>

Write a Class with TreeSupport.java and Node.java - In Node.java. include 
your business logic what values you want to populate in the tree. To make 
this work, you have to create a project as Web2.0 and add struts2 and 
dojo-tags to the library as well as dojo tool kit.


Hope this solves in creating a dynamic tree.

Thanks & Regards
Bala T Ramanadham




NOTICE TO RECIPIENT:  If you are not the intended recipient of this 
e-mail, you are prohibited from sharing, copying, or otherwise using or 
disclosing its contents.  If you have received this e-mail in error, 
please notify the sender immediately by reply e-mail and permanently 
delete this e-mail and any attachments without reading, forwarding or 
saving them.  Thank you.



Thanks & Regards
Bala T Ramanadham
MyHR - TIME
Parsons West Annex, 7th Floor
Office: 626-381-2434




NOTICE TO RECIPIENT:  If you are not the intended recipient of this 
e-mail, you are prohibited from sharing, copying, or otherwise using or 
disclosing its contents.  If you have received this e-mail in error, 
please notify the sender immediately by reply e-mail and permanently 
delete this e-mail and any attachments without reading, forwarding or 
saving them.  Thank you.

----- Forwarded by Bala T Ramanadham/CA/KAIPERM on 06/19/2009 07:39 AM 
-----

Bala T Ramanadham/CA/KAIPERM@Kaiperm 
06/11/2009 05:27 PM
Please respond to
"Struts Users Mailing List" <us...@struts.apache.org>


To
user@struts.apache.org
cc

Subject
Struts2 dynamic tree error






Using the below code to create a tree reading DB.

<sx:tree id="cus" rootNode="customers" nodeIdProperty="id" 
nodeTitleProperty="customer" childCollectionProperty="customer" />

"customers"is an Array List and "customer"is an object.

Below is the error. Please help


6/11/09 17:17:01:000 PDT] 00000084 runtime       E 
 
Expression stack.findValue(parameters.nodeTitleProperty) is undefined on 
line 23, column 48 in template/ajax/treenode-include.ftl.
The problematic instruction:
----------
==> ${stack.findValue(parameters.nodeTitleProperty)} [on line 23, column 
46 in template/ajax/treenode-include.ftl]
 in include "/${parameters.templateDir}/ajax/treenode-include.ftl" [on 
line 124, column 5 in template/ajax/tree.ftl]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression 
stack.findValue(parameters.nodeTitleProperty) is undefined on line 23, 
column 48 in template/ajax/treenode-include.ftl.



Thanks & Regards
Bala T Ramanadham



NOTICE TO RECIPIENT:  If you are not the intended recipient of this 
e-mail, you are prohibited from sharing, copying, or otherwise using or 
disclosing its contents.  If you have received this e-mail in error, 
please notify the sender immediately by reply e-mail and permanently 
delete this e-mail and any attachments without reading, forwarding or 
saving them.  Thank you.