您的位置:首页 > 其它

通过自定义标签,实现 页面 按钮显示控制

2017-04-11 09:07 489 查看
通过自定义标签,实现 页面 按钮显示控制

正在实现,做完后补充博客

代码已经实现,具体代码见github webtgate登录系统 :https://github.com/Wenhaoran/webgate

代码运行后的,功能管理 菜单,即通过使用 自定义标签,来控制按钮的显示与否。、

1、param.properties 中,button.limit=limit:false  或者 button.limit=limit:true ,来控制,是否启用 自定义按钮标签。

2、在系统中,对需要 配置自定义按钮  页面 ,关联到对应的 菜单上。   

3、增加自定义按钮标签 代码。

代码结构如图下:



代码结构:

其中箭头所指,分别为,

1、标签 tld 的类文件。

2、页面实现代码的工具类。

3、标签tld文件,

4、右侧,代码具体在jsp 中的配置。

原理:

第一步 的原理 ,Util 类 Param ,会获取所有的.properties 配置。

第二步 的原理 在系统的 资源信息菜单中,会 对  当前资源,配置页面。 

需要在 菜单资源下,配置页面的原因是, 所有的菜单资源显示与否,都 与角色有关,调用菜单页面的方法,会被filter PermissionFilter 拦截,拦截之后,会判断(PermissionFilter:154行),当前 菜单下,是否已经配置页面,如果配置过页面,说明,这个资源下,有自定义标签。



在 账户信息 菜单中,配置 一个路径+jsp名称为 : /views/sys/account/list.jsp 的页面,就是说,这个 list.jsp ,里面会有 自定义标签。

之后,在 功能管理中,会对 这个页面进行管理控制,



可以看见,有个 功能路径 ,这个功能路径, 等于 页面路径 + 功能编码。

然后,当在jsp 中配置 自定义标签完成,并在访问这个jsp 页面的时候,会 执行 ButtonTag.java  ,会获取 当前页面的路径+按钮标签。

然后判断是否显示。

代码逻辑整体流程如下:

某角色 访问某菜单 --> Filter 拦截,判断当前角色,当前菜单,是否已经配置页面,是否配置按钮权限 ,并保存 权限信息 到map 中。 --> 

打开某个 jsp 文件时 --> 加载 tld 实现类,并判断是否显示。

代码很久之前写的了,我自己也只是模糊记得大概是这样的流程。

如果有任何有关代码的疑问。欢迎 + Q骚扰 QQ:1286238812 备注:csdn自定义标签。

还有,github 上的代码,是比较旧的了,目前打算重构 webgate 项目,所以没有上传比较新的代码,重构完成后,会上传新的代码替换,所以,如果看见ui 有不一样的,不用管,只看代码实现就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐