个性化阅读
专注于IT技术分析

JSP自定义标签示例

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

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

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

了解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。

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

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

输出量

jsp定制标记示例的输出
赞(0)
未经允许不得转载:srcmini » JSP自定义标签示例

评论 抢沙发

评论前必须登录!