Adam-Ye

节点类型

约定:整个树形结构节点的层次最多只能三层

 

在数据库中表示树形结构

创建菜单的数据结构表

插入数据

insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'1\',NULL,\'系统权限菜单\',\'glyphicon glyphicon-th-list\',NULL);
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'2\',\'1\',\' 控 制 面 板 \',\'glyphicon glyphicon-dashboard\',\'main.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'3\',\'1\',\'权限管理\',\'glyphicon glyphicon glyphicon-tasks\',NULL);
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'4\',\'3\',\' 用 户 维 护 \',\'glyphicon glyphicon-user\',\'user/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'5\',\'3\',\' 角 色 维 护 \',\'glyphicon glyphicon-king\',\'role/index.htm\');
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'6\',\'3\',\' 菜 单 维 护 \',\'glyphicon glyphicon-lock\',\'permission/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'7\',\'1\',\' 业 务 审 核 \',\'glyphicon glyphicon-ok\',NULL);
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'8\',\'7\',\'实名认证审核\',\'glyphicon glyphicon-check\',\'auth_cert/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'9\',\'7\',\' 广 告 审 核 \',\'glyphicon glyphicon-check\',\'auth_adv/index.htm\');
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'10\',\'7\',\'项目审核\',\'glyphicon glyphicon-check\',\'auth_project/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'11\',\'1\',\'业务管理\',\'glyphicon glyphicon-th-large\',NULL);
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'12\',\'11\',\'资质维护\',\'glyphicon glyphicon-picture\',\'cert/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'13\',\'11\',\'分类管理\',\'glyphicon glyphicon-equalizer\',\'certtype/index.htm\');
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'14\',\'11\',\'流程管理\',\'glyphicon glyphicon-random\',\'process/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'15\',\'11\',\'广告管理\',\'glyphicon glyphicon-hdd\',\'advert/index.htm\');
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'16\',\'11\',\'消息模板\',\'glyphicon glyphicon-comment\',\'message/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'17\',\'11\',\'项目分类\',\'glyphicon glyphicon-list\',\'projectType/index.htm\');
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'18\',\'11\',\'项目标签\',\'glyphicon glyphicon-tags\',\'tag/index.htm\'); 
insert into `t_menu` (`id`, `pid`, `name`, `icon`, `url`) values(\'19\',\'1\',\'参数管理\',\'glyphicon glyphicon-list-alt\',\'param/index.htm\'); 

关联方式

子节点通过pid字段关联到父节点的id字段,建立父子关系

  • 根节点的pidnull
  • pid:parentID
  • 父子关系是一对多的关系

java类中表示树形结构

基本方式

Menu类中使用List<Menu>children属性存储当前节点的子节点

为了配合zTree所需要添加的属性

 zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

  • pid(parent id)属性:找到父节点
  • name属性:作为节点的名称
  • icon属性:当前节点使用的图标
  • open属性:控制节点是否默认打开
  • url属性:点击节点时跳转的位置

按钮增删改查的规则

 

  • Level0:根节点
    •   添加子节点
  • Level1:分支节点
    •   修改
    •   添加子节点
    •   没有子节点:可以删除
    •   有子节点:不能删除
  • Level2:叶子节点
    •   修改
    •   删除

 

分类:

技术点:

相关文章:

  • 2022-01-01
  • 2021-07-09
  • 2021-11-02
  • 2021-09-09
  • 2021-12-28
  • 2021-11-22
猜你喜欢
  • 2021-11-06
  • 2021-12-06
  • 2021-12-06
  • 2021-11-30
  • 2021-08-21
  • 2021-08-22
  • 2021-12-10
相关资源
相似解决方案