最近專案中有這樣的需求,需要將普通的時間格式轉行成時間間隔模式,如:將2009-07-01 10:16:14這種格式變成:昨天21:45:26 格式,我思前想後,為了顯示的需要還是自定義個標籤較合理。現將方法跟大家分享,演算法不重要,重要的是自定義標籤的流程。
我們分二步走
1.編寫自定義標籤類。
2. 建立taglib檔案(.tld),編寫標籤宣告。
第一步:
首先編寫時間格式轉換的方法:
public static string getdisplaytime(date date)else if(day==1)else if(day==2)else
}else if(time<60*1000)else
}
這段**很簡單,相信大家一看便懂了。
下面是距離當前時間天數的方法:
public class times extends component
public void setname(string name)
public times(valuestack arg0)
@override
public boolean start(writer writer) catch (ioexception ex)
return result;
}
}
這裡是寫乙個方法呼叫這個演算法返回乙個值
//獲得引數
protected void populateparams()
}
這裡繼承componenttagsupport類是為了獲得標籤中的屬性值,幷包裝成component物件。繼承component類是為了從struts2中的valuestack中獲得相對應的值。
第二步:建立smallfish.tld
<?xml version="1.0" encoding="utf-8"?>
2.2.3
1.2smallfish
/jzy
"smallfish tags"
times
com.common.tag.timetag
empty
name
true
true
經過這些操作後,乙個自己的標籤就弄好了,tld檔案可以擴充,在用的時候就像struts2自帶的標籤一樣,匯入,頁面顯示時就用這樣就可以了。是不是很簡單呢。
struts2 x自定義型別轉換
struts2的型別轉換是基於ognl 物件影象導航語言 1 ognl裡面有乙個介面typeconverter,該介面有乙個方法convertvalue,convertvalue該方法很複雜,裡面還有乙個預設實現類defaulttypeconverter,通過該類來實現型別轉換 typeconver...
Struts2 自定義標籤
在用struts2寫自定義標籤時遇到了一些問題,說了乙個多小時解決了,嗯就在這裡做個備忘吧 第一次寫,呵呵,有點怕出錯,如果說的不好大家不要笑.呵呵 說明一下我的環境 eclipse tomcat 自定義標籤編寫分為以下幾步 1.編寫uibean strutstag description my e...
struts2自定義標籤
在用struts2寫自定義標籤時遇到了一些問題,說了乙個多小時解決了,嗯就在這裡做個備忘吧 第一次寫,呵呵,有點怕出錯,如果說的不好大家不要笑.呵呵 說明一下我的環境 eclipse tomcat 自定義標籤編寫分為以下幾步 1.編寫uibean strutstag description my e...