一、步骤及目录结构
1、编写标签处理类
2、编写*.tld文件,放置于WEB-INF目录或子目录下
3、在JSP页面中使用
目录结构如下:
二、示例程序
1、日期时间处理标签
1)编写java类,命名为DataTimeTag.java
/** * copyright reserved,zhangym 2008 */ package org.zym.tags; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; /** * 通过给定的日期字符串,根据指定的格式进行日期时间的格式化.
*
- *
- 完全指定属性:<util:datetime date="1978-03-28 20:58:58 " pattern="yyyy年MM月dd日 hh:mm:ss"/>,输出结果为:yyyy年MM月dd日 hh:mm:ss *
- 取系统时间:<util:datetime />,输出内容为:yyyy-MM-dd hh:mm:ss *
*/ public class DateTimeTag extends TagSupport { private static final long serialVersionUID = -2132806052574019882L; private String pattern = "yyyy-MM-dd hh:mm:ss"; //时间日期格式字符串 private String dateStr; //时间日期字符串属性 private Date date; public void setPattern(String pattern) { this.pattern = pattern; } public void setDate(String dateStr) { this.dateStr = dateStr; } @Override public int doEndTag() throws JspTagException{ SimpleDateFormat sdf = new SimpleDateFormat(pattern); SimpleDateFormat sdfi = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); if(dateStr == null){ date = new Date(); }else { try { date = sdfi.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } } JspWriter out = pageContext.getOut(); try { out.println(sdf.format(date)); } catch (IOException e) { e.printStackTrace(); } //继续计算页面 return EVAL_PAGE; } }
2)编写.tld文件,命名为util.tld,放在目录WEB-INF下面的tlds文件夹下,其实名此文件的名称和在WEB-INF目录下的位置是任意的。
A tag library SimpleTag handlers.
1.0
util
/util/tags
Outputs date time
datetime
org.zym.tags.DateTimeTag
empty
date
false
true
pattern
false
false
3)在页面中使用标签
需在页面中进行引用,此引用的信息是在tld文件中进行了规定的,如prefix=”util”和uri=”/util/tags”
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/util/tags" prefix="util" %>
指定时间:
当前日期:
当前时间:
三、标签类打包
当前日期:
当前时间:
三、标签类打包
在完成了标签类之后,交给网页开发人员进行使用时,我们应该尽量让其使用简单,并透明。打包需要两个步骤:
1) 整理文件并规划目录
a) 将项目目录下的WEB-INF目录下的classes下的包及编译好的标签类复制出来,放在一个临时目录下
b) 在临时目录下,创建一个META-INF目录,将util.tld文件复制到其下
2) 进入目录下,使用jar命令进行打包,命令如下:
F:/util/> jar -cvf util.jar *
解释:将此目录下的所有文件打包util.jar文件
四、自定义标签jar包使用
将其放于WEB-INF目录下的lib目录中,就可以了。跟使用JSP的其他标签一样,只要在JSP页面中正常引用就可以。