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

来源:互联网 发布:2017软件排名榜 编辑:程序博客网 时间:2024/06/15 02:33
 

初涉“标签库(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>元素。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1496248


原创粉丝点击