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

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

 
阅读更多

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


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

代码已经实现,具体代码见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自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...

    jsp 自定义标签的使用

    3. **在JSP页面中使用**:在JSP页面中,通过`<%@ taglib %>`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用中常见的需求,通过自定义标签可以方便地实现。...

    一款二级菜单和使用自定义标签实现简单权限控制

    本主题聚焦于通过二级菜单和自定义标签实现简单的权限控制,这是一个常见且实用的技术实践。下面我们将深入探讨这个话题。 首先,二级菜单是一种常见的界面设计模式,用于组织复杂的菜单结构,使用户能更直观地找到...

    自定义页面分页标签自定义页面分页标签

    自定义页面分页标签是指开发者根据项目需求,创建个性化的分页组件,以实现更加灵活、符合界面设计风格的分页功能。下面将详细探讨如何实现自定义页面分页标签及其相关的知识点。 1. **基础概念**: - 分页:将...

    JSP GridView --使用自定义标签实现ASP.NET的控件

    在JSP中,虽然没有内置的GridView控件,但可以通过自定义标签来实现类似的功能。 这篇博客文章 "JSP GridView --使用自定义标签实现ASP.NET的控件" 提到了如何在JSP环境中模仿ASP.NET GridView的特性。作者向我们...

    hibernate + 自定义标签分页

    本例中,我们探讨的是如何结合Struts、Hibernate和自定义标签实现分页功能,这是一种常见的优化用户界面体验的技术,特别是对于数据量大的查询结果。 1. **分页原理** 分页的基本思想是将大量数据分成多个小部分,...

    简单实用的分页功能,用自定义标签实现。

    5. **在JSP页面中使用自定义标签**:在需要展示分页的地方,插入我们创建的自定义标签,并传递`PageBean`作为属性值。例如:`${pageBean}" />`。 6. **样式美化**:为了使分页组件看起来更美观,可以添加CSS样式,...

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

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

    C# winform TabControl 自定义标签颜色 点击突出显示

    要自定义标签颜色,我们需要以下几个步骤: 1. **创建自定义TabControl派生类**: 创建一个新的类,继承自TabControl,并在此类中添加我们自定义功能的方法和属性。例如,我们可以创建一个名为`CustomTabControl`...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    通过在JSP页面顶部添加`&lt;%@ taglib ... %&gt;`指令,我们可以导入自定义标签库: ```jsp ``` 之后,我们就可以像使用内置JSP标签一样使用自定义标签: ```jsp ,green,blue" /&gt; 同意条款" /&gt; 男" /&gt; ``` 五、自定义...

    这是一个自定义标签和分页结合的例子,很实用的,灵活性高啊

    2. 标签处理类(Tag Handler Class):这是Java类,实现了自定义标签的逻辑,处理输入参数,与页面交互,执行分页操作。 3. 分页相关的数据模型和业务逻辑:可能包含用于处理分页请求的Java类,以及与数据库交互的...

    IOS 自定义标签栏

    本篇文章将深入探讨如何在iOS应用中实现自定义标签栏,以增强用户界面的个性化与交互体验。 首先,我们了解下iOS系统内置的UITabBarController。它是苹果官方提供的用于管理多个ViewController的容器,其底部通常会...

    jquery实现添加自定义标签代码

    在本文中,我们将深入探讨如何使用jQuery库来实现一个功能,即用户可以通过双击输入框,输入文字,然后点击添加按钮,将输入的文字转化为自定义标签显示在输入框上方。同时,系统还提供了常用标签的选择功能。这个...

    自定义tabbar的功能 实现页面切换 按钮自定义回调

    通过以上步骤,我们可以实现一个具有自定义功能的TabBar,包括自定义按钮样式、页面切换逻辑和按钮点击回调。这种自定义不仅提升了应用的用户体验,也展示了iOS开发中的创新思维和技术实力。在实际项目中,应根据...

    邮箱(hibernate+Servlet+自定义标签,内带hibernate配置,自定义标签分页)

    标题和描述中提到的"邮箱(hibernate+Servlet+自定义标签,内带hibernate配置,自定义标签分页)"是一个基于Java技术栈的Web应用项目,它利用Hibernate作为持久层框架,Servlet作为控制层,以及自定义标签来实现前端展示...

    自定义标签-拖拽功能实现

    3. 显示标签:新创建的标签会展示在页面上,可以通过样式设计来优化视觉效果。 4. 删除功能:每个标签应有一个删除按钮,允许用户移除不再需要的标签。 其次,拖拽功能(Drag and Drop)是Web开发中的交互特性,让...

    自定义分页标签自定义分页标签

    自定义分页标签是指开发者根据项目需求,为应用程序创建的特定分页组件,以便更好地控制和美化页面的分页显示。本篇文章将深入探讨自定义分页标签的相关知识点。 首先,我们要理解什么是分页。分页是将大量数据分割...

    在按钮上显示自定义光标的资源

    在GUI(图形用户界面)设计中...通过以上步骤和注意事项,您可以在按钮上成功显示自定义光标,从而提升用户界面的交互性和专业性。记住,好的设计是关于沟通,而自定义光标正是帮助用户理解和导航界面的一种有力工具。

    自定义标签 防止重复提交

    在JSP页面中,通过`路径/to/tld文件" %&gt;`引入自定义标签库,然后使用`&lt;custom:submitGuard&gt;`标签包裹表单提交按钮。 5. **注意事项**: - 为了防止Session被恶意篡改,提交状态应与用户身份关联,例如使用用户ID...

    java自定义分页标签实现带条件的分页查询

    5. **渲染结果**:在JSP页面上,使用自定义标签`&lt;condition-pager&gt;`输出分页按钮和当前数据。标签需要能够计算总页数,以便生成正确的导航链接。 6. **配置TLD文件**:在项目的WEB-INF目录下创建一个.tld文件,定义...

Global site tag (gtag.js) - Google Analytics