jsp tag 自定义标签实现DOW的显示

         原来的项目,实现的只是页面的权限管理!今天老大说要实现,功能的权限管理推荐我用JSP的自定义标签!找了一堆,终于找到了合适的资料。借鉴,并加以保存,虽然前后端分离以常被我们认知,但JSP任然可以用来做后端的数据管理页面。不管这么多复制粘贴,贴代码。

首先创建一个fns.tld--------存放目录为/WEB-INF/tlds/fns.tld

代码为:

<?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>p2p permission taglib</description>
	<display-name>permission taglib</display-name>
	<tlib-version>1.0</tlib-version>
	<short-name>p2p_admin</short-name>
	<uri>http://vanfon.p2p.cn/</uri>
 
	<tag>
		<name>permission</name><!-- 里面的内容是JSP文件中标签里面的<p2p:permission >permission -->
		<tag-class>com.qos.app.view.action.toBeInstalled.tags.HasUrlPermissionTag</tag-class><!-- JSP文件中的自定义标签里面的值会传到PermissionTag类接受,PermissionTag类接受到的值决定是否要显示JSP文件中自定义标签的内容。 -->
		<body-content>JSP</body-content><!-- 里面的值代表<p2p:permission>只不能用在JSP中。 -->
	</tag>
</taglib>

然后是,JAVA实现类的代码

package com.qos.app.view.action.toBeInstalled.tags;

import javax.servlet.jsp.tagext.TagSupport;


public class HasUrlPermissionTag extends TagSupport{

	private static final long serialVersionUID = 4592227792811389132L;
 
	@Override
	public int doStartTag() {
		boolean result = true;
		return result? EVAL_BODY_INCLUDE : SKIP_BODY;//EVAL_BODY_INCLUDE代表执行自定义标签中的内容,SKIP_BODY代表不执行自定义标签中的内容。
	}

}

我只写了一个简单逻辑,以便大家好 知道起原理!注意该CLASS文件路径与fns.tld中的tag-class对应

HttpServletRequest request = (HttpServletRequest) this.pageContext
				.getRequest();

拿到HTTPrequest代码也贴出来把!

接下来就是JSP部分,首先JSP前面进行引入

 <%@ taglib prefix="p2p" uri="/WEB-INF/tlds/fns.tld" %>

还有一种是在xml中引用,但是我觉得xml中引用会引起其他问题,所以直接在JSP引用是最好的!

下面贴的是显示代码!注意p2p对应JSP引入处的prefix,permission对应fns.tld中的name值

<p2p:permission ><a href="#" class="easyui-linkbutton" iconCls="icon-add" >新增</a></p2p:permission>

 

参考:https://blog.csdn.net/zwx19921215/article/details/43560799

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值