当前位置:编程学习 > JAVA >>

JSP实现权限动态树型菜单

就是根据不同的用户,显示出不同的树型菜单项,问题是怎么将菜单从数据库中读取出来封装成一个对象
数据库如下

/*--存放菜单功能基本信息*/
DROP TABLE IF EXISTS SYS_FUNC;
CREATE TABLE SYS_FUNC           (
 NODE_ID   VARCHAR(20) PRIMARY KEY NOT NULL,
 DISPLAY_NAME  VARCHAR(50) NOT NULL,
 NODE_URL   VARCHAR(50),
 DISPLAY_ORDER INT NOT NULL,
 PARENT_NODE_ID VARCHAR(20) NOT NULL
);
INSERT INTO SYS_FUNC VALUES('101','人事管理','',0,'0');
INSERT INTO SYS_FUNC VALUES('101001','机构管理','personnel/Branch_browse',1,'101');
INSERT INTO SYS_FUNC VALUES('101002','部门管理','personnel/Dept_browse',2,'101');
INSERT INTO SYS_FUNC VALUES('101003','员工管理','personnel/UserInfo_browse',3,'101');


INSERT INTO SYS_FUNC VALUES('102','日程管理','',4,'0');
INSERT INTO SYS_FUNC VALUES('102001','我的日程','schedule/Schedule_mySchedule',5,'102');
INSERT INTO SYS_FUNC VALUES('102002','部门日程','schedule/Schedule_deptSchedule',6,'102');
INSERT INTO SYS_FUNC VALUES('102003','我的便签','schedule/MyNote_myNote',7,'102');


/*--存放所有父节点*/
DROP TABLE IF EXISTS ROLE_RIGHT;
CREATE TABLE ROLE_RIGHT(
 ROLE_RIGHT_ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
 ROLE_ID INT NOT NULL,
 NODE_ID VARCHAR(20) NOT NULL
);
/*管理员权限数据*/
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'102');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'102001');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'102002');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'102003');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'104');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'104001');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'104002');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'105');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'105001');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'105002');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'105003');
INSERT INTO ROLE_RIGHT VALUES(DEFAULT,1,'105004');  --------------------编程问答-------------------- 怎么没人回答我啊·急求帮忙 --------------------编程问答-------------------- 应该是JavaScript的吧
 帮你顶一下!! --------------------编程问答-------------------- 我也有类似的功能,但没有封装成树型对象。不知道怎么弄,帮顶! --------------------编程问答-------------------- --------------------编程问答-------------------- 我就觉得奇怪了 你的部门都用 XXX XXX三位三位分隔了 还要什么 父 PARENT_NODE_ID 。

id pname pid 这种树性能最差了

既然你有 001002 就能知道 上级部门是001 就没必要搞什么  PARENT_NODE_ID 。

用DTREE 后台生成自妇产前台输出。 --------------------编程问答-------------------- 楼主 如果你还在挨踢行业 可以私信我 我刚做完 这个功能 对这个还比较有研究   --------------------编程问答-------------------- jquery的插件jstree --------------------编程问答-------------------- 楼主的数据库是mysql吗?首先你要递归查询获取该用户具有的菜单,貌似mysql数据库的递归查询要通过存储过程实现。然后通过递归查询能够获取到该用户的所有菜单,借助于工具,比如dtree.js直接就能生成树行结构啊。 --------------------编程问答-------------------- js的dtree 很好 很强大 
本人资源里面有 自己去下吧 --------------------编程问答-------------------- 用ztree啊 --------------------编程问答-------------------- 这个比较简单的,用dTree做就可以了,
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,