自定義tag標籤-實現long類型轉換成Date類型

     數據庫裏存儲的是bigint型的時間,entity實體中存放的是long類型的標籤,現在想輸出到jsp頁面,由於使用的是jstl標籤,而要顯示的是可讀的時間類型,找來找去有個 fmt:formatDate可以轉化,但是隻能將String類型的轉成date型,long型則不可以,思考了好久,又不想破環jsp頁面這種標籤結構,參考網上jstl標籤編寫方法,如下:
第一步 寫一個類繼承TagSupport,實現doStartTag() 方法。 
package com.vipshop.scheduler.util;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 用於頁面 jstl時間格式化
 *
 * @Title: JSTLDateUtils.java
 * @Description: TODO(用一句話描述該文件做什麼)
 * @author eleven.song(宋濤)
 * @date 2014 -3- 4 下午06:28:51
 */
public class DateTag extends TagSupport {

    private static final long serialVersionUID = 6464168398214506236L;
   
    private String value;
   
    @Override
    public int doStartTag() throws JspException {
        String vv = ""+value ;
        long time = Long.valueOf(vv);
        Calendar c = Calendar. getInstance();
        c.setTimeInMillis(time);
        SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
        String s = dateformat.format(c.getTime());
        try {
            pageContext.getOut().write(s);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return super .doStartTag();
    }

    public void setValue(String value) {
        this.value = value;
    }

}
  

 第二步 編寫tld文件,datetag.tld,放在/WEB-INF目錄下
<?xml version="1.0" encoding= "UTF-8"?>
<taglib>
    <tlib-version >1.0</ tlib-version>
    <jsp-version >1.2</ jsp-version>

    <tag >
        <name> date</name >
        <tag-class> com.vipshop.scheduler.util.DateTag</tag-class >       
        <body-content> JSP</body-content >
        <attribute>
            <name> value</name >
            <required> true</required >
            <rtexprvalue> true</rtexprvalue >
        </attribute>
    </tag >
</taglib>

第三步  在web.xml中加入引用
  <jsp-config >
      <taglib >       
             <taglib-uri> /tags</taglib-uri >  
             <taglib-location> /WEB-INF/datetag.tld</taglib-location >           
      </taglib >  
  </jsp-config >

 第四步 在jsp頁面開始使用 
<%@ taglib uri="/tags" prefix="date"%>
< date:date value ="${trigger.startTime} "/>

上述方式即可實現所述功能!

參考:http://hfutxf.iteye.com/blog/673472
發佈了146 篇原創文章 · 獲贊 37 · 訪問量 93萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章