文档章节

自定义标签属性的使用

肥猫钓鱼
 肥猫钓鱼
发布于 2014/11/18 14:46
字数 376
阅读 15
收藏 0

自定义标签的属性的使用demo 1.写一个简单的自定义标签类,里面有一个permission变量,即作为自定义标签的属性 package test.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport;

public class MyTag extends TagSupport{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private String permission;

@Override
public int doStartTag() throws JspException {
	JspWriter writer = pageContext.getOut();
	if(this.permission!=null&&!this.permission.equals("")){
		if(this.permission.equals("admin.view")){
			return EVAL_BODY_INCLUDE;
		}else{
			try {
				writer.println("没有该权限");
			} catch (IOException e) {
				e.printStackTrace();
			}
			return SKIP_BODY;
		}
	}else{
		try {
			writer.println("没有该权限");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return SKIP_BODY;
	}
}

public String getPermission() {
	return permission;
}

public void setPermission(String permission) {
	this.permission = permission;
}

} 2.配置tld文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
 "web-jsptaglibrary_1_2.dtd" >  
<taglib>  
  <tlibversion>tlibversion</tlibversion>  <!-- 你自定义标签的版本数 -->  
  <jsp-version>1.2</jsp-version>  <!-- 指定你的JSP版本,扩张标签是在JSP1.2之后兼容的 -->  
  <shortname>shortname</shortname> <!-- 标签的简写 -->  
  <tag>  
    <name>tags</name>  <!-- 标签名字 -->  
    <tagclass>test.tag.MyTag</tagclass>  <!-- 指定你的标签的类 -->  
        <attribute>
        	<name>permission</name> <!-- 属性名 -->
        	<required>false</required> <!-- 是否此属性名是必须的 -->
        	<rtexprvalue>true</rtexprvalue> <!-- 属性是否可以在jsp运行使其动态产生 -->
        	<type>java.lang.String</type>
        </attribute>
  </tag>  
</taglib> 

3.配置web.xml的jsp-config

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <jsp-config> <taglib> <taglib-uri>TestTagUri</taglib-uri> <taglib-location>WEB-INF/testTag.tld</taglib-location> </taglib> </jsp-config> </web-app>

4.创建一个jsp页面,注意自定义标签的属性,如果permission属性为admin.view那么打印出不同的东西,记得载入标签库 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/WEB-INF/testTag.tld" prefix="out"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head></head>

<body> <out:tags permission="admin.view"> <a>你有admin权限</a> </out:tags> </body> </html>

© 著作权归作者所有

共有 人打赏支持
肥猫钓鱼
粉丝 1
博文 52
码字总数 9287
作品 0
深圳
程序员
Spring自定义标签解析与实现

在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import、alias、bean和beans)还是自定义标签,如果是...

张旭峰
05/20
0
0
AngularJS —— 自定义指令

如何自定义指令:   Angular是基于模块的框架,因此上来肯定要创建一个自己的模块: var myAppModule = angular.module("myApp",[]);   然后在此模块基础上创建指令directive myAppModu...

孟飞阳
2016/12/11
5
0
JSP自定义标签基础

自定义标签:就是程序员定义的一宗好难过JSP标签,这种标签把那些信息显示逻辑封装在一个单独的Java类中,通过一个xml文件来描述它的使用。当页面中需要使用类似的显示逻辑时,就可以在页面中...

晨曦之光
2012/05/16
125
0
django为Form生成的label标签添加class

使用Form生成html标签的时候,虽然提供了widget的方法可以自定义标签的要是,但是只能给生成的input标签添加样式,对于生成的label标签无法添加样式。而很多场景下需要为label和input都添加c...

骑士救兵
05/25
0
0
Riot - 你的下一个框架

前端,你是文艺界的程序员 我为什么要用Riot  优点明显,体积小,加载快,继承了react,Polymer等框架的优势,并简化他们,主要从以下几个方面考虑: 1. 自定义标签。  Riot 在所有浏览器上...

果汁凉茶丶
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
199
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部