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);
    }
    
    打赏 评论
  • atgoingguoat 2011-04-04 19:56

    我blog里有。自己看吧。

    打赏 评论

相关推荐 更多相似问题