在此示例中, 我们将创建一个自定义标签来打印当前日期和时间。我们正在标记开头执行操作。
要创建任何自定义标签, 我们需要执行以下步骤:
- 创建Tag处理程序类, 并在标签的开头或结尾处执行操作。
- 创建标签库描述符(TLD)文件并定义标签
- 创建使用TLD文件中定义的Custom标记的JSP文件
文章图片
1)创建标签处理程序类
要创建标签处理程序, 我们将继承TagSupport类并覆盖其方法doStartTag()。要为jsp写入数据, 我们需要使用JspWriter类。
PageContext类提供getOut()方法, 该方法返回JspWriter类的实例。 TagSupport类默认提供pageContext的实例。
package com.srcmini.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目录中。
<
?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.srcmini.sonoo.MyTagHandler<
/tag-class>
<
/tag>
<
/taglib>
3)创建JSP文件
让我们在我们的jsp文件中使用标记。在这里, 我们直接指定tld文件的路径。但是建议使用uri名称代替tld文件的完整路径。稍后我们将了解uri。
【JSP自定义标签示例】它使用taglib指令来使用tld文件中定义的标签。
<
%@ taglib uri="WEB-INF/mytags.tld" prefix="m" %>
Current Date and Time is: <
m:today/>
输出量
文章图片
推荐阅读
- JSP中的异常处理
- JSP中的表达语言(EL)
- 使用JSP从服务器下载文件的示例
- 在JSP中显示小程序(jsp(plugin操作标记))
- JSP自定义标签中的自定义URI
- JSP中的自定义标签
- JSP CRUD示例
- JSP定制标记中的属性
- JSP会话隐式对象