自定义标签开发步骤(传统标签)

初涉“标签库(Tag Library)”,以一个简单的hello标签开演示开发自定义标签的基本步骤:

 

一、新建一个包test,包中新建一个标签类HelloTag.java,代码如下: 

 

package  test;


import  java.io.IOException;

import  javax.servlet.jsp.JspException;
import  javax.servlet.jsp.JspWriter;
import  javax.servlet.jsp.PageContext;
import  javax.servlet.jsp.tagext.Tag;

public   class  HelloTag  implements  Tag  {
    
private PageContext pageContext;
    
private Tag parent;
    
public int doEndTag() throws JspException {
        JspWriter out 
= pageContext.getOut();
        
try{
            out.println(
"欢迎来到琉璃仙境.");
        }
catch(IOException e){
            System.err.println(e.toString());
        }

        
return EVAL_PAGE;
    }


    
public int doStartTag() throws JspException {
        
return SKIP_BODY;
    }


    
public Tag getParent() {
        
return parent;
    }


    
public void release() {

    }


    
public void setPageContext(PageContext arg0) {
        
this.pageContext = arg0;
    }


    
public void setParent(Tag arg0) {
        
this.parent = arg0;
    }


}

 

二、在WEB-INF中建立tlds文件夹,在tlds文件夹中加入标签描述文件MyTaglib.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 > Custom Tag Library </ description >
    
< tlib-version > 1.0 </ tlib-version >
    
< short-name > my </ short-name >
    
    
<!-- uri>/mytag</uri -->

    
< tag >
        
< name > hello </ name >
        
< tag-class > test.HelloTag </ tag-class >
        
< body-content > empty </ body-content >
    
</ tag >
    
</ taglib >

 

三、修改WEB-INF目录下的web.xml文件,内容如下:

 

<? xml version="1.0" encoding="UTF-8" ?>
< web-app  version ="2.4"  
    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-app_2_4.xsd"
>

    
< jsp-config >
        
< taglib >
            
< taglib-uri > /mytag </ taglib-uri >
            
< taglib-location > /WEB-INF/tlds/MyTaglib.tld </ taglib-location >
        
</ taglib >
    
</ jsp-config >
</ web-app >

 

四、编写hello.jsp调用已定义的hello标签,内容如下:

 

< %@ page  contentType ="text/html;charset=gb2312"  % >
< %@ taglib  uri ="/mytag"  prefix ="my"  % >
< html >
    
< head >< title >< my:hello /></ title ></ head >
    
    
< body >< my:hello /></ body >
</ html >

 

注:自定义标签有三种引用方式,第一种方式,就如上所述在web.xml文件中设置<tablib>元素。第二种方式,直接将页面的tablib指令的uri属性指定为TLD文件的位置。第三种方式,在TLD文件中设置<uri>元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值