浏览 98 次
|
精华帖 (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>
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |




