浏览 2364 次
锁定老帖子 主题:JSP开发自定义标签简明手册
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-08
在J2EE开发中,标签是一个很重要的内容,自2001年诞生后就将那混杂的代码的进行分离,形成多层的结构。彻底将页面与开发人员分开。
/** * 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; /** * 通过给定的日期字符串,根据指定的格式进行日期时间的格式化.<br> * <ul> * <li>完全指定属性:<util:datetime date="1978-03-28 20:58:58 " pattern="yyyy年MM月dd日 hh:mm:ss"/>,输出结果为:yyyy年MM月dd日 hh:mm:ss * <li>取系统时间:<util:datetime />,输出内容为:yyyy-MM-dd hh:mm:ss * </ul> * @param pattern 格式化日期时间的字符串,如 "yyyy-MM-dd hh:mm:ss" . * @param dateString 时间字符串,为空则为系统当前时间 * @return 按要求格式化的日期时间字符串 * @author zhangym <br> */ 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; } }
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>A tag library SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>util</short-name> <uri>/util/tags</uri> <tag> <description>Outputs date time</description> <name>datetime</name> <tag-class>org.zym.tags.DateTimeTag</tag-class> <body-content>empty</body-content> <attribute> <name>date</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>pattern</name> <required>false</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> </taglib>
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="/util/tags" prefix="util" %> <html> <head> <title>自定义标签</title> </head> <body> 指定时间:<util:datetime date="1978-03-28 20:58:58 " pattern="yyyy年MM月dd日 hh:mm:ss"/> <hr/> 当前日期:<util:datetime pattern="yyyy-MM-dd"/> <hr/> 当前时间:<util:datetime /> <hr/> </body> </html>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |