自定义标签的实例

标签程序 HelloTag_Interface.java

package tag;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.util.Hashtable;
import java.io.Writer;
import java.io.IOException;
import java.util.Date;

public class HelloTag_Interface implements javax.servlet.jsp.tagext.Tag {
  private PageContext pageContext;
  private Tag parent;
  public HelloTag_Interface() {
    super();
  }
  public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {
    this.pageContext = pageContext;
  }
  public void setParent(final javax.servlet.jsp.tagext.Tag parent) {
    this.parent = parent;
  }

  public int doStartTag() throws javax.servlet.jsp.JspTagException {
    return SKIP_BODY;
  }
 
  public int doEndTag() throws javax.servlet.jsp.JspTagException {
    try {
      pageContext.getOut().write("Hello, World!");
    } catch(java.io.IOException e) {
      throw new JspTagException("IO Error" + e.getMessage());
    }
    return EVAL_PAGE;
  }

  public void release() {}

  public javax.servlet.jsp.tagext.Tag getParent() {
    return parent;
  }
}

 

标签库描述文件mytag.tld

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib PUBLIC
                 "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
                 "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
 
  <tlibversion>1.0</tlibversion>
  <jspversion>1.1</jspversion>
  <shortname>User</shortname>
  <info>
    This tag library contains employee tag extensions
  </info>

  <tag>
    <name>hello_int</name>
    <tag-class>tag.HelloTag_Interface</tag-class>
    <body-content>empty</body-content>
  </tag>
</taglib>

 

web.xml文件的配置

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<taglib>
  <taglib-uri>/demotag</taglib>
  <taglib-location>/WEB-INF/mytag.tld</taglib-location>
</taglib>
</web-app>

显示页面

<%@ taglib uri="/demotag" prefix="hello" %>
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<html>
  <head>
    <title>first cumstomed</title>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
  </head>
  <body>
    <p>以上的内容从taglib中显示:</p>
    <p><i><hello:hello_int/></i><p>
  </body>
 
</html>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值