A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ☆丿灬北纬28° 中级黑马   /  2012-6-12 00:02  /  2154 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

就是在不同级别的人登陆系统后,可以动态实现功能菜单

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
判断登陆用户,根据用户权限来动态创建treeView的节点

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
创建菜单时加上人员权限,也就是sql语句select时只查找出此人的菜单。我处理时是把所有的菜单放到了数据库表中

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
根据不同的用户,判断权限,从数据库中获取权限对应的菜单,添加到treeview的节点上

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
武剑峰 发表于 2012-6-12 09:03
创建菜单时加上人员权限,也就是sql语句select时只查找出此人的菜单。我处理时是把所有的菜单放到了数据库 ...

那点击不同菜单的超链接该怎么搞……
回复 使用道具 举报
本帖最后由 武剑峰 于 2012-6-12 11:47 编辑

呵呵,我的菜单表中至少有三个字段:代码、前台菜单显示名称、实际工作调用类名;单击时获得实际工作调用类名,
                fmenu = D01_Dao.getMenuqx(nodeInfo.toString());
                JInternalFrame jf = getIFrame(fmenu);    //此方法代码如下
然后利用反射实现创建对应的对象,因为我做的是cs开发,以下是一段以前做的java代码参考一下思想吧
        private JInternalFrame getIFrame(String frameName) {
                JInternalFrame jf = null;
                if (!ifs.containsKey(frameName)) {
                        try {
                                Class fClass = Class.forName("com.DailyStar.internalFrame."
                                                + frameName);       //我实际存放类名的包
                                Constructor constructor = fClass.getConstructor(null);
                                jf = (JInternalFrame) constructor.newInstance(null);
                                ifs.put(frameName, jf);
                        } catch (Exception e) {
                                e.printStackTrace();
                        }
                } else
                        jf = ifs.get(frameName);
                return jf;
        }

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
杨雪 高级黑马 2012-6-12 23:21:56
7#
在登陆时对登陆人员权限进行检测,根据不同权限加载不同数据源

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
☆丿灬北纬28° 发表于 2012-6-12 11:11
那点击不同菜单的超链接该怎么搞……

原理应该是一样的,把超链接的内容也保存到数据库中,和菜单一起,同时加载
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马