JSP自定义标签示例

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

  1. 创建Tag处理程序类, 并在标签的开头或结尾处执行操作。
  2. 创建标签库描述符(TLD)文件并定义标签
  3. 创建使用TLD文件中定义的Custom标记的JSP文件
了解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。
【JSP自定义标签示例】它使用taglib指令来使用tld文件中定义的标签。
< %@ taglib uri="WEB-INF/mytags.tld" prefix="m" %> Current Date and Time is: < m:today/>

输出量
JSP自定义标签示例

文章图片

    推荐阅读