📜  JSP自定义标签的示例

📅  最后修改于: 2021-01-05 01:11:44             🧑  作者: Mango

JSP自定义标签示例

在此示例中,我们将创建一个自定义标签,该标签将打印当前日期和时间。我们正在标记开头执行操作。

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

  • 创建Tag处理程序类,并在标签的开头或结尾处执行操作。
  • 创建标签库描述符(TLD)文件并定义标签
  • 创建使用TLD文件中定义的Custom标记的JSP文件

了解JSP中的自定义标签流

1)创建标签处理程序类

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

PageContext类提供getOut()方法,该方法返回JspWriter类的实例。 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目录中。






  1.0
  1.2
  simple
  http://tomcat.apache.org/example-taglib


today
com.javatpoint.sonoo.MyTagHandler


3)创建JSP文件

让我们在jsp文件中使用标记。在这里,我们直接指定tld文件的路径。但是建议使用uri名称代替tld文件的完整路径。稍后我们将了解uri。

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

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

输出量