我用的是tree.js<logic:present name="menuTree" scope="request">
  <SCRIPT LANGUAGE="JavaScript" type="">      function loadTree(url){
          if (url != ""){
    parent.main.location=url;
          }
      }
      var item90000 = new fulongTree('数据补录管理');
      item90000.setBehavior('classic');    <logic:iterate id="menu" name="menuTree">
      var menuCode = <bean:write name="menu" property="menuCode"/>;
      var item<bean:write name="menu" property="menuCode"/> = new fulongTreeItem('<bean:write name="menu" property="menuName"/>');
      item<bean:write name="menu" property="menuCode"/>.action = "javascript:loadTree('<bean:write name="menu" property="menuAction"/>')";
      item<bean:write name="menu" property="menuParent"/>.add(item<bean:write name="menu" property="menuCode"/>);
    </logic:iterate>
    document.write(item90000);
    item90000.expandAll();
  </SCRIPT>
</logic:present>
menuTree就是你从数据库里查出的list

解决方案 »

  1.   

    不是这样的。我是说在xloadtree当中如何把数据库中的这颗树取出来再写到xml当中。邮xloadtree动态加载
    请有代码的给出完整代码。。xloadtree是由servlet生成xml的!
      

  2.   

    可以这样做:
    第一步:在服务器端将整个树形结构组成JSON的字符串形式:如[{name:"中国",url:"**.jsp"},{name:"北京",url:"**.jsp"},{name:"上海",url:"**.jsp"}],将这个JSON字符串保存到request对象中,request.setAttribute("tree",treeString)。
    第二步:在jsp页面上通过var tree=${tree};就得到了这个树形字符串,然后通过xtree的API就可以生成一棵树了。
      具体的页面代码如下:
                       var s=${tree};
       
        var map={};
        var tree=new WebFXTree("Root");   
        var root="0"
        map[root]=tree;   
        for(var i=0;i<s.length;i++){
            //得到一个树形节点对象
        var d=s[i];
        //生成一个带checkBox的树形节点
        var t=new WebFXCheckBoxTreeItem(d.name);
        //生成一个普通的树形节点
        //var t=new WebFXTreeItem(d.name);
        //首先将此节点保存到缓冲集合中
        map[d.id]=t;
        if(map[d.fatherId]){//判断是否存在此节点的父节点
        map[d.fatherId].add(t);
        }else{
        alert("缺少父节点,请检查数据");
        }      
        }