JSP自定义标签-案例
在本文的示例中,我们将创建一个JSP自定义标签:打印当前日期和时间。
1 创建自定义标签处理程序
要创建标签处理程序,我们要继承TagSupport类并覆盖其doStartTag()方法。为了在JSP写入数据,我们需要使用JspWriter类。
MyTagHandler:
package com.yiidian;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import java.util.Calendar;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class MyTagHandler extends TagSupport {
public int doStartTag() throws JspException {
JspWriter out=pageContext.getOut();//返回JspWriter实例
try{
out.print(Calendar.getInstance().getTime());//使用JspWriter打印当前日期和时间
}catch(Exception e){System.out.println(e);}
return SKIP_BODY;//不执行Body的内容
}
}
2 创建TLD文件
标签库描述符(TLD)文件包含标签和标签处理程序类的信息。它必须包含在WEB-INF目录中。
mytags.tld:
<?xml version="1.0" encoding="utf-8" ?>
<!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://www.yiidian.com/example-taglib</uri>
<tag>
<name>today</name>
<tag-class>com.yiidian.MyTagHandler</tag-class>
</tag>
</taglib>
3 创建JSP文件,使用标签
让我们在JSP文件中使用标签。暂时我们直接指定tld文件的路径,但是建议使用uri名称代替tld文件的完整路径。稍后我们将了解自定义URI路径。
index.jsp:
<%@ page language="java" contentType="text/html;charset=utf-8" %>
<%@ taglib uri="WEB-INF/mytags.tld" prefix="m" %>
<html>
<html>
<head>
<meta charset="utf-8">
<title>一点教程网-JSP自定义标签案例</title>
</head>
<body>
当前日期时间为: <m:today/>
</body>
</html>
4 运行测试
热门文章
优秀文章