jsp自定義標籤實現許可權攔截
最近專案需要要實現在頁面端一個許可權攔截功能。具體需求是,一個使用者登陸到系統後,判斷他是否有執行某個功能的許可權,如果有許可權,則功能鍵對該使用者可見;否則的話,不可見。要實現此功能,自定義標籤無疑是一種很好的解決辦法。具體方法如下:(語言java、頁面實現jsp、開發工具myeclipse6.5)
1、編寫標籤類,標籤類就是普通的java類,只是該類要繼承TagSupport類。
2、建立TLD檔案,定義表示式函式。
3、在JSP頁面內匯入並且使用。
案列說明:
1、編寫標籤類
public class PermissionTag extends TagSupport { //模組 private String module; //模組中具體許可權 private String privilege; public String getModule() { return module; } public void setModule(String module) { this.module = module; } public String getPrivilege() { return privilege; } public void setPrivilege(String privilege) { this.privilege = privilege; } @Override public int doStartTag() throws JspException { boolean result = false; User user = WebUtil.getUser((HttpServletRequest) pageContext.getRequest());//WebUtil是自定義的工具類,獲取此時登陸的使用者 SystemPrivilege privilege = new SystemPrivilege(new SystemPrivilegePK(this.module,this.privilege)); for(PrivilegeGroup privilegeGroup : user.getGroups()){//迴圈檢測使用者具有的許可權組 privilegeGroup.getPrivileges().contains(privilege);//使用者的許可權是否包含功能許可權 result = true; break; } return result? EVAL_BODY_INCLUDE : SKIP_BODY;//真:返回EVAL_BODY_INCLUDE(執行標籤);假:返回SKIP_BODY(跳過標籤不執行) } }
2、建立TLD檔案,該檔案要放在類資料夾下META-INF下。
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>yuguan wuxipolice permission taglib</description><!-- 描述 --> <display-name>permission taglib</display-name> <tlib-version>1.0</tlib-version><!-- 版號 --> <short-name>yunguan</short-name> <!-- 簡單名稱 --> <uri>http://www.wuxipolice.cn/</uri> <!-- 引用路徑 -->
<tag> <description>許可權校驗標籤,有許可權就顯示標籤體的內容,否則不顯示</description> <name>permission</name> <!-- 標籤名 --> <tag-class>com.yg.web.taglib.PermissionTag</tag-class> <!-- 標籤類 --> <body-content>JSP</body-content> <attribute> <description></description> <name>module</name> <!-- 屬性名 --> <required>true</required> <!-- 標籤的屬性是否是必須的 --> <rtexprvalue>false</rtexprvalue> </attribute> <attribute> <description></description> <name>privilege</name> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> </taglib>
3、在JSP頁面內匯入並且使用。
.........省略
<yg:permission module="department" privilege="update"> <a href="<html:rewrite action="/control/department/manage"/>?method=editDepartmentUI&departmentid=${entry.departmentid}"> <img src="/images/edit.gif" width="15" height="16" border="0"></a> </yg:permission>
........省略
相關推薦
jsp自定義標籤實現許可權攔截
最近專案需要要實現在頁面端一個許可權攔截功能。具體需求是,一個使用者登陸到系統後,判斷他是否有執行某個功能的許可權,如果有許可權,則功能鍵對該使用者可見;否則的話,不可見。要實現此功能,自定義標籤無疑是一種很好的解決辦法。具體方法如下:(語言java、頁面實現jsp
實現按鈕級許可權管理--使用jsp自定義標籤
在有些系統中,可能會用到按鈕級的許可權管理。這裡使用jsp自定義標籤來實現。0、基礎配置。建表 ###角色對應的操作按鈕1.1.1角色對應的按鈕關聯表,角色下有哪些按鈕是可以訪問的CREATE TABLE `system_role_operation` ( `role
在JSP中用自定義標籤實現集合的遍歷——山寨版c:foreach
【文章標題】在JSP中用自定義標籤實現集合的遍歷——山寨版<c:foreach> 【文章作者】曾健生 【作者郵箱】[email protected] 【作者QQ】19067890
jsp tag 自定義標籤實現按鈕的顯示
前些天在一個專案中做了一個最基本的許可權管理(標準的許可權結構,使用者-角色-選單),後來需要精確地控制到按鈕就想到了使用自定義標籤(jsp tag)來處理按鈕的顯示與隱藏。 下面是我參考網上的資料自己寫的一個自定義標籤的demo: 首先自定義標籤類: package c
jsp自定義標籤的學習[從學習到工作(五)]
在現在的開發平臺上發現有自己定義的標籤,於是在空閒時間學習了一下自定義標籤,並且做了一個簡單的ajax校驗的text標籤,廢話少說,看下面的步驟和程式碼。 一. jsp頁面包含的內容
jsp 自定義標籤
繼承關係 java.lang.Object javax.servlet.jsp.tagext.TagSupport javax.serv
JSP自定義標籤遍歷List (ct:forEach)
問題描述 : jsp 的pageContext域中存在User物件的users列表,想在jsp檔案中遍歷users. <% class User{ private String name; private Strin
spring 自定義標籤實現
Spring 自定義標籤實現 一、自定義Spring標籤簡介 Spring官方文件 42.1中,介紹瞭如何自定義Spring標籤,步驟如下: 1、編寫一個XML Schema描述您的自定義元素 2、編寫自定義名稱空間處理程式實現,實現NamespackHand
shiro jsp自定義標籤
1.建tld檔案 auth.tld <taglib> <tlib-version>1.1.2</tlib-version> <jsp-version>1.2</jsp-version> <
JSP自定義標籤
mvvm框架盛行的今天jsp視乎已經out了,但是由於歷史原因jsp使用範圍依舊十分廣泛。(本人 喜歡jsp ,在標籤開發的效率上,jsp要比vue低很多,並且前後端分離的開發模式,在除錯,部署,分工都要好很多。) 第一步 : jsp標籤的描述,宣告 jsp標籤需要使用
Spring自定義標籤實現及踩過的坑(親測)
專案結構 先來一張專案結構圖,因為LZ是用的IDEAL,網上的大部分都是用的eclipse來實現: 這裡也大致說一下專案的新建,考慮到有的讀者會想LZ一樣對IDEAL的使用不是很熟練。 新建一個spring專案(不會的話網上搜索一下,很簡單的),建好之後,再新建這些資料夾,點選File—>Pr
shiro jsp自定義標籤
1.建tld檔案 auth.tld <taglib> <tlib-version>1.1.2</tlib-version> <jsp-version>1.2</jsp-version> <
Spring AOP自定義註解實現許可權控制
1.建立註解類,controller控制層使用該註解進行許可權控制使用 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.R
spring 自定義註解實現登陸攔截
需求:自定義一個註解,使得controller層的類或者方法在寫上這個註解後,會有登陸驗證。實現原理:(1)先寫一個自定義註解,註解上可以通過註釋確定是類/方法可以加此註解。(2)之後,寫一個攔截器,攔截器內可以通過handler得到被攔截器攔截的類或者方法,之後可以通過這個
(精)Spring IOC核心原始碼學習III:bean標籤和自定義標籤實現原理
本文將解析spring bean定義標籤和自定義標籤的解析實現原理。這裡說的標籤僅限於以xml作為bean定義描述符的spring容器,繼承AbstractXmlApplicationContext的一些子 容器,如XmlApplicationContext、ClassPat
Java Web學習筆記(一)FreeMarker自定義標籤實現生成前端指令碼驗證
最近在學習Java Web因為.net已經寫的想吐了。通過網易雲課堂瞭解了當前常用的SSM框架的使用方法,前期一切都很順利,包括資料庫的訪問、事務提交、物件注入、面向切片等等,但是當我對頁面檢視進行實現時發現相對於.net有一點不方便。Java Web的檢視層的實現方式非常
JSP自定義標籤詳細講解
一、基本概念: 1.標籤(Tag): 標籤是一種XML元素,通過標籤可以使JSP網頁變得簡潔並且易於維護,還可以方便地實現同一個JSP檔案支援多種語言版本。由於標籤是XML元素,所以它的名稱和屬性都是大小寫敏感的 2.標籤庫(Tag library): 由一系列功能相似、邏輯上互相聯絡的標籤構
JSP自定義標籤開發+TLD檔案元素詳解
自定義標籤開發整理 從jsp1.1開始就可以在jsp頁面中使用自定義標籤了,使用自定義標籤不但可以實現程式碼重用,而且可以使jsp程式碼更簡潔。Jsp2.0的標籤擴充套件API中又增加了SimpleTag介面和其實現類SimpleTagSupport。 標籤擴充套件API層
JSP自定義標籤(一) 樹形下拉選擇選單
<tag> <name>selector</name> <tag-class>com.moonNigh.tagSupport.SelectorTag</tag-class> <body-content&
自定義註解進行許可權攔截
什麼是註解? 用一個詞就可以描述註解,那就是元資料,即一種描述資料的資料。所以,可以說註解就是原始碼的元資料。比如,下面這段程式碼: @Override public String toString() { return "This is String Repre