Xianfeng轻量级Java中间件平台:菜单管理
通过菜单管理,可以实现系统菜单的权限控制、用户个性化菜单功能等,当然很多系统支持在线开发,不用专门的开发工具编写代码,通过一些简单的设置就能开发出新的功能,有新功能增加到系统中,菜单管理功能也是必不可少的
平台为了给以后功能扩展留下接口,菜单管理功能包含菜单分类管理和菜单管理两块功能,菜单分类管理功能的引入,主要是为了实现个性化菜单功能打下基础
上周放端午节,开发进度没有跟上,不过大体的架子都已经做出来了,看看菜单分类管理功能的页面吧
整个页面风格都用LigerUI来布局,顶部LOGO区(后期会开发一些快捷链接大图标放在顶部),左侧导航区,右侧功能区
菜单的数据结构具有深度级联的特点,因此前台使用树来展现数据,效果更加直观一些
功能区左侧是菜单树,右侧是树节点编辑区,编辑区的表单没有使用LigerUI的默认的表单风格,而是进行了一些改造,整个表单使用table布局,这样能够适应一些复杂表单的布局,并且扩展实现了表单顶部工具栏(后期会贴图)、底部按钮栏的效果,顶部工具栏、底部按钮位置相对固定,不会随着页面滚动,方便操作
下面看看菜单树一些功能操作
根节点,只能增加、刷新,不能删除,不能删除是因为数据库本身没有保存根节点,根节点是虚拟节点,方便增加一级菜单,因此不能删除
子节点可以增加、删除、刷新,刷新的实现方法是先删除所有的子节点,然后重新加载所有的子节点
叶子节点只能删除,是否叶子节点是菜单的一个属性,通过是否叶子节点的判断,禁用其他右键按钮即可
菜单管理功能的开发,对树的操作遇到一些问题,主要是因为LigerUI的API文档不是很全面,很多API都是通过浏览器调试、查看源码的方式知道的,尽管如此,还是要感谢LigerUI的作者,毕竟很多复杂的功能都已经实现了,作为一个OpenSource来说,能做到如此,已经很ok了
后面还会继续完善Xianfeng平台的功能,最近主要是开发权限管理相关的功能,相对于之前做的那些业务组件开发,功能要复杂一些,页面展现形式也更加多样化
Xianfeng轻量级Java中间件平台:菜单管理的更多相关文章
- Xianfeng轻量级Java中间件平台:权限管理
权限管理:是通过系统对用户的行为进行控制的一套业务规则,可以做得很简单,比如通过硬编码的方式进行控制,也可以做得很复杂,比如通过一些复杂的权限模型去实现一些复杂的权限控制,比如菜单访问权限.按钮操作权 ...
- Xianfeng轻量级Java中间件平台:一期开发计划
关于Xianfeng轻量级Java中间件平台,考虑到需要控制开发周期,通过分期开发的方式来实现一些基础的.常用的功能,这样有利于跟踪开发计划.一期的开发计划,主要实现的目标如下: 系统架构: 1.确定 ...
- Xianfeng轻量级Java中间件平台:流水号管理、组织机构管理
流水号管理:现实中,经常都会和流水号打交道,至于什么是流水号,简而言之,就是按照特定格式要求产生的一个号码,并且总是按照递增的规则生成的,对于要求比较高的业务,需要流水号是连续的,比如移动营业厅排号小 ...
- Xianfeng轻量级Java中间件平台:用户管理
用户管理:简单地说,就是管理系统用户的账号信息.在典型的业务系统中,用户管理往往不包含用户隶属组织机构相关属性(比如部门.岗位等)的维护,而是由组织机构管理专门去维护.因此在用户管理的功能中,主要就维 ...
- Xianfeng轻量级Java中间件平台:功能管理
功能管理:从功能类型来看,不属于用户使用的功能,而属于系统维护使用的功能,因为对于用户来说,是不可见的.功能管理的作用是定义一套规则,用来处理权限等业务,比如常见的菜单权限控制.按钮权限控制等情景 在 ...
- Xianfeng轻量级Java中间件平台:属性管理、字典管理
属性管理:主要功能是维护一些系统定义的.业务定义的属性数据,至于属性是什么,简单的说就是由键key和值value组成的数据,属性查询列表页面如下: 表格实现了直接编辑的功能 字典管理:主要功能是维护一 ...
- Xianfeng轻量级Java中间件平台:基于RBAC模型实现权限控制的原理
首先,白话一下RBAC模型.RBAC是基于角色的访问控制(Role-Based Access Control)的简称.RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,wh ...
- 淘宝JAVA中间件Diamond详解之简介&快速使用 管理持久配置的系统
http://my.oschina.net/u/435621/blog/270483?p=1 淘宝JAVA中间件Diamond详解(一)---简介&快速使用 大家好,今天开始为大家带来我们通用 ...
- Java生鲜电商平台-用户管理的架构与实战
Java生鲜电商平台-用户管理的架构与实战 在电商后台中,用户管理是运营人员管理用户的模块.这里的用户区别于运营人员,会在权限的角色管理中分别阐述.这里的用户包含平台的一般用户,会员用户等.本文将分享 ...
随机推荐
- kafka消费者客户端启动之后消费不到消息的原因分析
如果你发现你的一个消费者客户端A已经启动了,但是就是不消费消息,此时你应该检查一下该消费者所在的组中(ConsumerGroup)是否还有其他的消费者,topic的分区可能被组中其他的消费者线程抢走( ...
- docker 错误:Error response from daemon: cannot stop container: connect: connection refused": unknown
docker 错误:Error response from daemon: cannot stop container: 795e4102b2de: Cannot kill container 795 ...
- Lintcode:Longest Common Subsequence 解题报告
Longest Common Subsequence 原题链接:http://lintcode.com/zh-cn/problem/longest-common-subsequence/ Given ...
- S3C2440的七种模式之——未定义模式(去掉bl print1 bug解决)
现在做第一个实验,模拟未定义模式. 未定义模式,是cpu遇到自己不能识别的指令时候做出的异常处理. arm指令的机器码一定是按照某种规范要求的,不然你随意写一条指令,cpu不是都可以执行吗?在cpu没 ...
- spring batch初识
Spring Batch是什么? Spring Batch是一个基于Spring的企业级批处理框架,按照我师父的说法,所有基于Spring的框架都是使用了spring的IoC特性,然后加上自己的一些 ...
- [转]Spring MVC 教程,快速入门,深入分析
原文地址:http://elf8848.iteye.com/blog/875830 目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mv ...
- [转]Handsontable对单元格的操作
原文地址:http://blog.csdn.net/mafan121/article/details/46119905 1.自动填充单元格数据 fillHandle:true/false //当 ...
- C#使用ICSharpCode.SharpZipLib压缩后进行web批量下载文件
参考:http://blog.csdn.net/kongwei521/article/details/51167903#
- matplotlib-plot-style
style 1.绘制x=1 2.不同线宽 enumerate(Widths) 3.线型(实线,虚线,点划线) linestyle set_dashes 4.自动设置线颜色 5.点的显示形式 marke ...
- 【C#】使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...