javascript - web后台管理系统,左侧菜单该如何构建
大家讲道理
大家讲道理 2017-04-11 12:00:53
[JavaScript讨论组]

数据库有一张表,存的是一条条菜单记录,里面包含主键id,上级菜单id,url
我可以通过数据库查询,以list的形式查询出全部记录,那么我在前台jsp该怎样显示呢?
我想到有几种方式:
1.将查询出的list直接传到JSP,然后循环,先循环出一级菜单,再根据一级菜单id循环生成二级菜单,但是如果这样,有很多个三级,四级菜单的时候,会循环很多很多次.
2.在后台将菜单拼成json格式的数据,然后在前台使用js生成菜单.
如果是使用第二种方式,那么在后台该怎样拼接成json格式呢,最简单的做法就是先从数据库查询出一级菜单,再根据一级菜单查询二级菜单,那这样和第一种方式没什么区别.
所以想问下,有没有做过的或者了解这方面功能的,都是怎样实现比较好,可以提供个思路吗

效果图大概是这样

问题已解决,我是根据用户权限,查询出用户能看到的全部菜单,然后再用java构建成我需要的数据格式

如下图,只需要将查询出的子菜单放进父级菜单对象的list中就行

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
迷茫

最近一个项目是这样来实现的:

数据库中的表为resource, 对应的pojo为Resource, 类Resouce中有关联关系List<Resource> sonResource.(hibernate关联)。所以只要取顶级的Resource, 顶级中会包含子级。 数据传到前台, 自己处理下父子关系就好了。

PHPz

从数据库中查询出数据应当是按显示的顺序的,或者经过处理处理成要显示的顺序。
构建一颗空树
递归的插入树就可以了

巴扎黑
  1. sql查询树形结构可以用connect by,一次性把整个树查询出来

  2. 也可以先展示一级菜单,点击一级菜单的时候再ajax查询下级菜单,这样就不用一开始就把整个树都构建完成

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号