博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java自定义简单标签
阅读量:6572 次
发布时间:2019-06-24

本文共 2477 字,大约阅读时间需要 8 分钟。

 Java自定义简单标签可以方便的在页面输出信息,并且对于权限的控制,和对于Jsp标签和servlet代码的分离有着很好的作用。

下面将以权限的控制为例自定义一个标签:

一、标签类型

 

步骤:

1.自定义一个类PerssionTag 继承SimpleTagSupport(自定义标签一般都会继承这个类)

 

package cn.com.liveuc.privilege.tag;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.Set;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.SimpleTagSupport;import cn.com.liveuc.privilege.model.Privilege;import cn.com.liveuc.privilege.model.Resource;import cn.com.liveuc.privilege.model.Role;import cn.com.liveuc.privilege.model.User;/** *  * @作者  wuxiaotie * @邮件  wuxiaotie@iactive.com.cn * @说明   自定义标签 */public class PerssionTag extends SimpleTagSupport {		//自定义标签属性,用于标签传入参数	private String uri;		//接收标签传入的参数	public void setUri(String uri) {		this.uri = uri;	}	@Override	public void doTag() throws JspException, IOException {		//获取用户登陆后保存的Session		PageContext page = (PageContext) this.getJspContext();		User user = (User) page.getSession().getAttribute("login");		//如果用户登陆		if(user != null) {			//用户登陆判断用户权限			List
list = new ArrayList
(); //获取用户的角色 Set
role = user.getRole(); for(Role r:role) { //获取角色对应的权限 Set
privilege = r.getPrivilege(); for(Privilege p:privilege) { //获取权限对应的资源 Set
res = p.getResource(); for(Resource re:res) { list.add(re.getUri()); } } } for(String ur:list) { //判断用户的权限 if(ur.equals(uri)) { this.getJspBody().invoke(null); //有权限输出标签体内容 } } } }}

2.在WEB-INF下创建tld文件描述标签。

"Struts Tags"
2.2.3
s
/wxt
per
cn.com.liveuc.privilege.tag.PerssionTag
scriptless
uri
true
true

3.运用标签

在Jsp页面导入标签:

 
运用标签:
      
用户管理
用户权限包含uri资源的将会输出标签内容。

 

 

 

转载地址:http://yeojo.baihongyu.com/

你可能感兴趣的文章
Windows 2012 R2 FSMO角色相关小记录
查看>>
2017年6月12日笔记
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
我的友情链接
查看>>
Maven创建新的依赖项目
查看>>
2015年10月26日作业
查看>>
LAMP,安装脚本
查看>>
面向对象题目
查看>>
Java异常总结
查看>>
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
Nginx 支持webSocket 响应403
查看>>
lnmp安装
查看>>
3.两种密钥配对方法,很简单哦《Mr.Robot》
查看>>
FTP工作方式
查看>>
Linux之安装部署squid代理服务器
查看>>
Linux文件和目录管理常用命令(中)
查看>>