`
我是温浩然
  • 浏览: 95971 次
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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


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

代码已经实现,具体代码见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 有不一样的,不用管,只看代码实现就可以了。




分享到:
评论

相关推荐

    jsp权限控制,jsp自定义标签实现

    使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...

    JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析

    在web开发中,上传文件功能通过type为file的input标签即可实现。但input的显示效果仅为一个按钮,且不能修改UI。如果要实现自定义上传按钮,一般需要设置input为不可见,然后将input与自定义界面放在同一个div中,并...

    Python flask框架实现浏览器点击自定义跳转页面

    代码如下 _init_.py from flask import Flask, request, url_for, redirect, render_template app = Flask(__name__) @app.route('/') def index(): ...@app.route('/cool_form', methods=['GET', 'POST']) ...

    IE工具栏添加自定义按钮

    可以用的,在IE工具栏添加自定义按钮的注册表文件,双击运行即可。 图标文件需要自己找并放到指定的文件夹内。

    PyQt5点击按钮弹出自定义窗口 创建新窗口

    # PyQt5点击按钮弹出自定义窗口 创建新窗口 1. 创建 QPushButton 按钮并绑定点击事件函数; 2. 点击按钮时创建自己定义的窗口类对象并显示; 3. 包含两个例程,分别为只能弹出一个窗口和可以反复点击按钮创建无限个...

    android使用了自定义button自定义tabHost切换页面Demo

    使用了自定义button,自定义tabhost使用了不同默认的上标签切换页面

    DisplayTag1.2 扩展(自定义分页、排序、导出、页面导航)

    DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...

    页面框架+tab标签页+换肤

    功能介绍: 1、可以换皮肤、其中住框架、具体页面可以统一使用皮肤。 2、tab页标题有右键菜单,新开、...tabControl新开一个页面实际上是通过JS在主显示区域建立一个iframe 把这个iframe的src 指向我们指定的页面。

    基于SSM-EasyUI的权限管理系统,细颗粒度到按钮级别

    按钮级别的权限用的是自定义的JSP标签 3)页面菜单的管理 在添加或者修改菜单的时候增加了选择图标的功能 4)操作日志的记录和备份 采用的方法是利用aop拦截add,update方法来实现操作记录。 同时用了...

    菜单按钮权限管理系统

    按钮资源使用的是自定义标签进行显示或隐藏的!我用的是mysql数据库,我也把数据库导出,方便网友操作查看效果图! 我这个项目有缺点就是权限按钮时,我把它放进了session,方便取出,没有放进缓存! 亲爱的网友们,...

    DisplayTag1.2 扩展(自定义分页、排序、导出、页面导航)(旧)

    DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...

    多标签页自适应页面,可以动态的添加删除

    多标签页自适应,标签页比较多时可以点击按钮切换,避免标签页过多时自动错位或者覆盖

    尚硅谷Shiro 标签

    Shiro 提供自定义标签标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。

    Struts2+API+标签全解+网页说明

    optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...

    仿牛客UI及部分实现代码

    仿牛客UI ...3、 系统通知页面:(由ListView实现)由于比较固定本人使用RelativeLayout实现 四、 我的牛客界面: 1. 头像显示模块:头像+用户名+用户信息 2. 内容显示模块 更多效果请试用,感谢支持!

    明日科技C#示例源码

    实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的设计 5 实例003 鼠标穿透窗体 12 实例004 窗体的浮动及隐藏 14 实例005 手动改变自制窗体的大小 16 实例006 自定义屏保 19 ...

    WP主题:HotNewspro 2.72

    ■ 主题很多功能都需要添加自定义栏目实现,如果在编辑页面上无自定义栏目设置面板,可以点击右上“显示选项”按钮,在显示下列项目中,勾选“自定义栏目”。 ■ 公告、相册、视频采用自定义文章发布类型功能,这是...

    struts2 标签库 帮助文档

    optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...

    StableDiffusion实用插件Image Browsing

    可通过在右键菜单切换自定义标签来实现图像收藏。 支持类似谷歌的高级搜索。 同样支持模糊搜索,您可以使用文件名或生成信息的一部分进行搜索。 支持添加自定义搜索路径,方便管理自己创建的文件夹集合。 ️ 3图像...

    ASP经典下载系统Downplus v2.2 MSSQL商业版.zip

    自定义标签功能:用来组织某些需要特别显示的软件,可实现类似于“广告”和“专集”的功能.系统提供了多达22种的标签显示样式组合,支持图片和flash显示,可选生成JS文件调用或直接写入静态页面. 广告功能:系统内置5...

Global site tag (gtag.js) - Google Analytics