猿教程 Logo

JSP自定义标签案例

在本示例中,我们将创建一个自定义标签,以打印当前日期和时间。 我们在标签的开始位置执行此操作。

要创建任何自定义标签,我们需要执行以下步骤:

  1. 创建标签处理类,并在标记的开始或结束处执行操作。

  2. 创建标记库描述符(TLD)文件并定义标记

  3. 创建使用TLD文件中定义的自定义标签的JSP文件


了解jsp中自定义标记的流程



1)创建标签处理程序类

要创建标签处理程序,我们继承TagSupport类并重写其方法doStartTag()。要为jsp写入数据,我们需要使用JspWriter类。

PageContext类提供了返回JspWriter类的实例的getOut()方法。 TagSupport类通过默认提供pageContext的实例。

相关实例:

package com.javatpoint.sonoo;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class MyTagHandler extends TagSupport{

public int doStartTag() throws JspException {
	JspWriter out=pageContext.getOut();//returns the instance of JspWriter
	try{
	 out.print(Calendar.getInstance().getTime());//printing date and time using JspWriter
	}catch(Exception e){System.out.println(e);}
	return SKIP_BODY;//will not evaluate the body content of the tag
}
}

2)创建TLD文件

标记库描述符(TLD)文件包含标记和标记处理程序类的信息。 它必须包含在WEB-INF目录中。

mytags.tld文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<!DOCTYPE taglib  
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  
    "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">  
  
<taglib>  
  
  <tlib-version>1.0</tlib-version>  
  <jsp-version>1.2</jsp-version>  
  <short-name>simple</short-name>  
  <uri>http://tomcat.apache.org/example-taglib</uri>  
  
<tag>  
<name>today</name>  
<tag-class>com.javatpoint.sonoo.MyTagHandler</tag-class>  
</tag>  
</taglib>



3)创建JSP文件

让我们使用jsp文件中的标签。 这里,我们直接指定tld文件的路径。 但是建议使用uri名称而不是tld文件的完整路径。 稍后我们将学习uri。

它使用taglib指令来使用tld文件中定义的标签。

相关实例:

<%@ taglib uri="WEB-INF/mytags.tld" prefix="m" %>
Current Date and Time is: <m:today/>

输出



版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Jsp/example-of-jsp-custom-tag.html