ext js中的树treepanel

今天用ext做一个简单的树形菜单,第一次做,所以当中也出现了很多小问题,但是最终还是解决了!入门用,慢慢完善 !首先把代码贴出来:

后台代码(我没有经过数据库就在后台自己填充了一些数据)这是一个spring mvc的controller 返回一个list  会自动转化为json数据 treepanel里面默认的是需要json数组:

@RequestMapping("role/getRoleList.do")
 @ResponseBody
 public List<SysRole> getRoleList(Model model) {
  List<SysRole> roleList = new ArrayList<SysRole>();
  
  List<SysRole> childRoleList1 = new ArrayList<SysRole>();
  SysRole childRole1 = new SysRole(3, "部门经理",true);
  childRoleList1.add(childRole1);
  SysRole role = new SysRole(1, "角色组1", childRoleList1,false);
  
  List<SysRole> childRoleList2 = new ArrayList<SysRole>();
  SysRole childRole2 = new SysRole(4, "项目经理",true);
  childRoleList2.add(childRole2);
  SysRole role2 = new SysRole(2, "角色组2", childRoleList2,false);
  
  List<SysRole> childRoleList3=new ArrayList<SysRole>();
  SysRole childRole3=new SysRole(5,"程序员 ",true);
  childRoleList3.add(childRole3);
        SysRole role3=new SysRole(6, "角色组3", childRoleList3,false);
       
        SysRole role4=new SysRole(7, "直接角色", true);
  roleList.add(role);
  roleList.add(role2);
  roleList.add(role3);
  roleList.add(role4);
  return roleList;
 }

 

后面到前台的json数组格式为:

[{"children":[{"children":null,"text":"部门经理","roleId":3,"leaf":true}],"text":"角色组1","roleId":1,"leaf":false},{"children":[{"children":null,"text":"项目经理","roleId":4,"leaf":true}],"text":"角色组2","roleId":2,"leaf":false},{"children":[{"children":null,"text":"程序员 ","roleId":5,"leaf":true}],"text":"角色组3","roleId":6,"leaf":false},{"children":null,"text":"直接角色","roleId":7,"leaf":true}]

注意:前台默认的时候需要children text leaf来表示 所以我的model类里面也用这几个名字作为字段名称 ,否则显示不出来,当然你也可以前台去转换,我这里没有做,这样做简单方便!

前台代码:

// 加载所有的角色
   var rolesLoader = new Ext.tree.TreeLoader({
    dataUrl : 'role/getRoleList.do'  //这里请求得到数据
   });


   var rootNode = new Ext.tree.AsyncTreeNode({
    id : 'RoleList',
    text : '角色列表',
    loader : rolesLoader
    
   });

var roleTreePanel =new Ext.tree.TreePanel({
    width : 250,
    height : 360,
    autoScroll : true,
    autoDestroy : true,
    root : rootNode

});

 

最终生成的 树形结构为:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值