khalil_lau 2011-04-02 17:33
浏览 239
已采纳

struts2 + extjs + json + tree

数据库字段:id parentID name
可以帮我用extjs struts2 json tree 写一颗树出来吗

要求具体点:这是我写的extjs

var root = new Ext.tree.AsyncTreeNode({
id:'-1',
text:"XXX公司",
loader:new Ext.tree.TreeLoader({
url:"getAar.action",
listeners:{
"beforeload":function(treeloader,node)
{
treeloader.baseParams={
id:node.id,
method:'POST'
};
}
}
})
});
var tree =new Ext.tree.TreePanel({
title:"动态Tree",
width:350,
height:300,
root:root,
autoScroll:true,//显示滚动条
animate : true,//true表示使用动画展开/折叠
listeners:{
'click':function(node){
alert(node.id);//得到的节点
}
}
});
tree.getRootNode().expand(true);

我到action:
aarList=areaService.getAar();
return Action.SUCCESS;

另外我拿到的aarList以这样的数据库结构怎么变成List 才能得到我想要的接送格式啊

                       求求各位大哥们帮小弟想想啊 我快疯了
  • 写回答

2条回答 默认 最新

  • atgoingguoat 2011-04-04 19:58
    关注
    /**
     * 得到地区树下拉框(异步加载)
     * @throws IOException
     */
    public void getAreeTree() throws IOException {
    
        Hashtable areahash = new Hashtable(); 
        Area area = new Area(); 
        Area parentArea = new Area();
        List areaList = null;
        ArrayList treeNodeArray = new ArrayList();
        String parentid = this.getRequest().getParameter("parentid");  //地区父地区
        if (parentid!=null && !"".equals(parentid)) {   //如果父地区不为空
            parentArea.setAreaId(parentid);
            area.setParentArea(parentArea);
            areaList = areaManager.getSubAreaList(parentArea);
        }else {         //如果父地区为空
            area.setParentArea(parentArea);
            areaList = areaManager.getAreaList(area);
        }
    

    // for (int i = 0; areaList != null && i < areaList.size(); i++) {
    // area = (Area)areaList.get(i);
    // areahash.put(area.getAreaId(), area.getAreaName());
    // }

        for (int i = 0; areaList != null && i < areaList.size(); i++) {
            area = (Area)areaList.get(i);
            JSONTreeNode TreeNode = new JSONTreeNode();     
            TreeNode.setArr("?parentid="+area.getParentArea().getAreaId());
    
            TreeNode.setId(area.getAreaId());
            TreeNode.setText(area.getAreaName());
    

    // if(areahash.containsKey(area.getAreaId())){
    // TreeNode.setChecked(true);
    // }else{
    // TreeNode.setChecked(false);
    // }

            List sublist = null;
            sublist =areaManager.getSubAreaList(area);
            if (sublist.size() > 0) {   //如果该地区有子地区,则该地区不为子节点
                TreeNode.setLeaf(false);
                TreeNode.setIconCls("icon-treeg");
                TreeNode.setSingleClickExpand(true);
            } else {
                TreeNode.setLeaf(true);
                TreeNode.setIconCls("icon-treep");
            }
            //TreeNode.setExpandable(false);
            treeNodeArray.add(TreeNode);
        }
        outJson(treeNodeArray);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧