首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

麻烦帮小弟我看看,小弟我的dojo的tree如何不好使?多谢

2012-02-07 
麻烦帮我看看,我的dojo的tree怎么不好使?谢谢!我是想实现懒装入,在树刚展开的时候只显示第一层节点,等到要

麻烦帮我看看,我的dojo的tree怎么不好使?谢谢!
我是想实现懒装入,在树刚展开的时候只显示第一层节点,等到要展开具体的第二层节点的时候再到后台去读数据。现在只能展开第一层节点,点击展开节点的那个加号没有反应。麻烦帮我看看是怎么回事。谢谢!

jsp页面如下

<script   type= "text/javascript ">

dojo.require( "dojo.widget.* ");
dojo.require( "dojo.widget.TreeV3 ");
dojo.require( "dojo.widget.TreeNodeV3 ");
dojo.require( "dojo.widget.TreeLinkExtension ");
dojo.require( "dojo.widget.TreeSelectorV3 ");
dojo.require( "dojo.widget.TreeRPCController ");
dojo.require( "dojo.widget.TreeLoadingControllerV3 ");
dojo.require( "dojo.widget.TreeContextMenu ");
dojo.require( "dojo.widget.TreeDocIconExtension ");
dojo.require( "dojo.widget.TreeDisableWrapExtension ");
dojo.hostenv.writeIncludes();
</script>

    <style>
                .myCssClass   {
        font-family:   Arial,   Helvetica,   sans-serif;
                        font-size:   18px;
                        font-style:   italic;
                }
               

.TreeIconTreeNonLeafIconnodetype1{
background-image:   url( ' <%=request.getContextPath()%> /images/mailbox1.gif ');  
}

.TreeIconTreeLeafIconnodetype1{
background-image:   url( ' <%=request.getContextPath()%> /images/closed.gif ');  
}

        </style>
</head>
<body>
<script   type= "text/javascript ">


var   controller   =   dojo.widget.createWidget( "TreeLoadingControllerV3 ",  
{widgetId:   "controller ",   DNDController: "create ",  
RPCUrl:   " <%=request.getContextPath()%> /getMenuTree.do "});
var   link   =   dojo.widget.createWidget( "TreeLinkExtension ",   {widgetId:   "link "});
var   docIcons   =   dojo.widget.createWidget( "TreeDocIconExtension ",   {widgetId:   "docIcons "});
var   disableWrap   =   dojo.widget.createWidget( "TreeDisableWrapExtension ",   {widgetId:   "disableWrap "});
var   treeSelector   =   dojo.widget.createWidget( "TreeSelectorv3 ",   {widgetId:   "treeSelector "});
dojo.event.topic.subscribe( "nodeSelected ", "treeSelectFired ");


dojo.addOnLoad(function(){

//var   kw   =   {url:controller.rpcUrl,   sync: "true "};
//controller.runRpc(kw);

//controller.DNDController   =   "create ";


var   treeNodes   =   <%=request.getAttribute( "strMenus ")%> ;
/*

var   treeNodes   =   [
{ "isFolder ":false, "title ": "title1 ", "tree ": "rootTree ", "objectId ": "775161 ", "widgetId ": "775161 "},
{ "isFolder ":true, "title ": "title2 ", "tree ": "rootTree ", "objectId ": "775162 ", "widgetId ": "775162 "}   ];
*/
 


var   tree   =   dojo.widget.createWidget( "TreeV3 ",  
{widgetId: "menuTree ",   listeners:   [controller.widgetId,treeSelector.widgetId,   link.widgetId,   docIcons.widgetId,   disableWrap.widgetId],  
"toggle ":   "wipe ",   DNDMode: "between "   });
/**
  lazy   initialization   is   in   effect  
only   root-level   widgets   will   be   created
*/
//controller.loadProcessResponse(tree,   str);
tree.setChildren(treeNodes);
//controller.expandToLevel(tree,   1);

document.body.appendChild(tree.domNode);

});


function   treeSelectFired()   {
alert( "treeSelectFired ");
        //   get   a   reference   to   the   treeSelector   and   get   the   selected   node  
        var   treeSelector   =   dojo.widget.manager.getWidgetById( 'treeSelector ');
        var   treeNode   =   treeSelector.selectedNodes[0];
       
        //   get   a   reference   to   the   songDisplay   div
 
        var   hostDiv   =   document.getElementById( "songDisplay ");
        var   isFolder   =   treeNode[ 'isFolder '];
        if   (   !isFolder)   {
              var   song   =   treeNode[ 'title '];
              var   url   =   treeNode[ 'url '];
              //treeNode.object   =   {   href:   'http://www.google.com/ '   };
              link(url);
        }   else   {  
        }
   
}

function   link(url){
    //alert(url);
    if(url){
        parent.rightFrame.location.href=url;
    }
}

function   init()   {  

        //get   a   reference   to   the   treeSelector
        var   treeSelector   =   dojo.widget.manager.getWidgetById( 'treeSelector ');


        //connect   the   select   event   to   the   function   treeSelectFired()
        dojo.event.connect(treeSelector, 'select ', 'treeSelectFired ');  
}

dojo.addOnLoad(init);
</script>

</body>
</html>

java代码如下
List <Menu>   menus   =   getMenus();
JSONArray   result   =   new   JSONArray();
if   (menus   !=   null   &&   menus.size()   >   0)   {
ListIterator <Menu>   itMenus   =   menus.listIterator();
while   (itMenus.hasNext())   {
Menu   m   =   itMenus.next();
try   {
JSONObject   jsonMenuObject   =   new   JSONObject();
jsonMenuObject.put( "title ",   m.getName());


/*
jsonMenuObject.put( "childIconSrc ",   "../images/ "
+   m.getImage());
*/
jsonMenuObject.put( "nodeDocType ",   m.getImage());
jsonMenuObject.put( "isFolder ",   mgr.hasChildren(m));
jsonMenuObject.put( "widgetId ",   m.getNumber());
jsonMenuObject.put( "objectId ",   m.getNumber());
/*
JSONArray   children   =   getChildren(m);
if   (children.length()   >   0){
jsonMenuObject.put( "isFolder ",   true);
jsonMenuObject.put( "children ",   children);
}else{
jsonMenuObject.put( "isFolder ",   false);
jsonMenuObject.put( "url ",   m.getAction());
}
*/
result.put(jsonMenuObject);
}   catch   (JSONException   e)   {
e.printStackTrace();
}
}
}
strMenus   =   result.toString();

//   strMenus   =   "[{title:   \ "Node   1\ "   ,children:   [{title:   \ "Node
//   1.1\ "},{title:   \ "Node   1.2\ "}   ]},   {title:   \ "Node   2\ "   }] ";
/*
HttpServletResponse   response   =   getResponse();
response.setContentType( "text/json;   charset=gb2312 ");
PrintWriter   out   =   response.getWriter();

System.out.println(strMenus);
out.write(strMenus);
*/
System.out.println(strMenus);
return   SUCCESS;

[解决办法]
这个我不是很懂,帮顶吧~

热点排行