欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TLD自定义标签步骤

程序员文章站 2022-06-08 23:02:43
...

1.编写一个类,实现接口javax.servlet.jsp.tagext.SimpleTag或继承javax.servlet.jsp.tagext.SimpleTagSupport

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class ShowDate extends SimpleTagSupport {

    @Override
    public void doTag() throws JspException, IOException {
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        PageContext pageContext = (PageContext) getJspContext();
        pageContext.getOut().write(dateFormat.format(date));
    }
}

2.在WEB-INF目录下,建立一个扩展名为tld(TagLibaryDefinition)的xml文件。

<?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>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>ovit</short-name> <!---标签前缀->
    <uri>http://www.ovit.com/date</uri><!--引入标签路径-->
    <tag>
        <description>show current date</description>
        <name>showDate</name>
        <tag-class>com.bsi.test.IfSimpleTag</tag-class>
        <body-content>empty</body-content><!-- 说明开始标签和结束标签之间有没内容 -->
    </tag>
</taglib>

3.在jsp中引入自定义标签

<%@ taglib uri="http://www.ovit.com/date" prefix="ovit"%>  <!-- 引入自定义标签 -->

4.应用

  <body>
      ...
      现在是北京时间:<ovit:showDate/>
      ...
  </body>