自定义JSP标签示例

Posted 一位前端技术爱好者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义JSP标签示例相关的知识,希望对你有一定的参考价值。

我们以一个例子来讲解如何自定义JSP标签,假如我们需要在页面中输出当前的时间,按照最简单的JSP脚本,需要在JSP里面写很多Java代码,那么如何来使用自定义标签实现这个功能呢?

首先,我们要先创建一个类,继承TagSupport类:

 1 import java.io.IOException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 import javax.servlet.jsp.JspException;
 5 import javax.servlet.jsp.tagext.TagSupport;
 6 
 7 public class LoginDateTag extends TagSupport {
 8 
 9     @Override
10     public int doStartTag() throws JspException {
11         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
12         String date = sdf.format(new Date());
13         try {
14             pageContext.getOut().print(date);
15         } catch (IOException e) {
16             e.printStackTrace();
17         }
18         return super.doStartTag();
19     }
20     
21 }

第二步,设置.tld文件,tld文件的模板可以在tomcat中找到,C:\Program Files\apache-tomcat-7.0.56\webapps\examples\WEB-INF\jsp2,jsp2-example-taglib.tld文件:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
 5     version="2.0">
 6     <description>A tag library exercising SimpleTag handlers.</description>
 7     <tlib-version>1.0</tlib-version>
 8     <short-name>SimpleTagLibrary</short-name>
 9     <uri>/test</uri> //导入该文件的路径
10     <tag>
11         <name>loginDate</name> //标签名
12         <tag-class>util.LoginDateTag</tag-class> //标签功能代码所在的类
13         <body-content>empty</body-content>
14     </tag>
15 </taglib>

完成上面配置后,就可以在JSP代码中调用我们自定义的标签

1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
2 <!-- 导入自定义标签库 -->
3 <%@ taglib prefix="t" uri="/test" %>
4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
5 <html>
6   <body>
7     您的登录时间为:<t:loginDate/> 
8   </body>
9 </html>

 

以上是关于自定义JSP标签示例的主要内容,如果未能解决你的问题,请参考以下文章

JSP回顾

JSP自定义tld方法标签

jstl标签库基础教程及其使用代码

JSP自定义tag控件标签

jsp自定义标签

[Java] JSP笔记 - 自定义标签