自定义标签属性的使用

自定义标签的属性的使用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文件

            <type>java.lang.String</type>
 "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


<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>index.jsp</welcome-file>


<taglib>
    <taglib-uri>TestTagUri</taglib-uri>
    <taglib-location>WEB-INF/testTag.tld</taglib-location>
</taglib>


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


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


你可能感兴趣的:(自定义标签属性的使用)