<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Tin's Blog

    You are coming a long way, baby~Thinking, feeling, memory...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks

    今天瀏覽WW的Wiki,結果無意發現ww:date標簽的用法,撓頭一想以前沒有見過呀,仔細一看原來是2006/3/21才加上的。
    會頭看看項目發現用的ww 2.2.1中沒有這個標簽,心想是不是發布新版本了?
    果不出所料!發現OPENSYMPHONY已經發布2.2.2了。
    不過2.2.2是在Opensymphony下的最后一個版本了,以后的版本就會以Struts Action 2.0的形式發布了,而后者今年8月才發布,中間的日子估計只能靠nightly build了。
    說說變化,發現增加了RichTextEditor,經考察就是我們熟悉的FCK Editor。發現還增加了nifty corners,這是一個不用images的圓角容器(css+js),估計用在了某個theme里面。還有J2SE5的支持也更加完善,現在已經可以支持泛型Collection的反射(無需-conversion文件了),還支持annotation風格的validation聲名(如此像Stripes那樣的Web框架就沒什么可吹噓的了)。其它的變化請參考他們的ReleaseNotes。
    http://www.opensymphony.com/webwork/wikidocs/Release%20Notes.html

    說說新添加的ww:date標簽。很多朋友可能都認為ww:property輸出date比較不如意,以前很多解決方案感覺都不夠靈活。WW肯定察覺了,新增加的ww:date把玩了一下發現非常好用,所以推薦給大家。
    語法非常簡單:
    name:你取值的ognl表達式
    nice:是否使用易讀(readable notations)的模式,其實就是類似conflunce里面顯示時間的方式,類似“in 2 hours, 14 minutes”
    format:就是我們常用的時間format,例如“yyyy-MM-dd hh:mm”
    id:就是HTML中的元素id

    使用起來如下,官方的例子:
    <ww:date name="person.birthday" format="dd/MM/yyyy" />
    按照“dd/MM/yyyy”格式顯示
    <ww:date name="person.birthday" format="%{getText('some.i18n.key')}" />
    將format定義到i18n文件中的方式,這個很常用:D
    <ww:date name="person.birthday" nice="true" />
    使用易讀(readable notations)的模式
    <ww:date name="person.birthday" />
    使用默認的格式輸出

    其中顯示的規則如下:
    1、如果制定了nice="true"則優先以易讀(readable notations)的模式顯示
    2、如果nice="false"則按照指定的format顯示
    3、如果上面兩個屬性都沒有指定,則從默認的資源文件中尋找webwork.date.format這個i18n的key,按照它顯示
    4、如果還沒有找到則按照DateFormat.MEDIUM格式顯示
    5、特別之處:如果從ValueStack沒有找到值,則默認顯示空白(而不是null)

    就這么簡單,感覺讀(readable notations)模式尤其有趣,非常好用,你還可以給它指定i18n的顯示方式。
    下面共享一下我寫的zh_cn版本,你只需要將一下內容拷貝到classpath下面的default.properties文件中就可以了(也可以按照i18的資源文件命名規則):

    webwork.date.format.past = { 0 }?以前
    webwork.date.format.future
    = 在?{ 0 }?
    webwork.date.format.seconds
    = 幾秒鐘前?
    webwork.date.format.minutes
    = { 0 , choice , 1 #一分鐘| 1 <{ 0 }?分鐘}?
    webwork.date.format.hours
    = { 0 , choice , 1 #一小時| 1 <{ 0 }?小時}{ 1 , choice , 0 #| 1 #零一分鐘| 1 <零?{ 1 }?分鐘}?
    webwork.date.format.days
    = { 0 , choice , 1 #一天| 1 <{ 0 }?天}{ 1 , choice , 0 #| 1 #零一小時| 1 <零?{ 1 }?小時}?
    webwork.date.format.years
    = { 0 , choice , 1 #一年| 1 <{ 0 }?年}{ 1 , choice , 0 #| 1 #零一天| 1 <零?{ 1 }?天}?

    輸出的樣子如:“一天零 8 小時 以前”,“4 天零 23 小時 以前”……

    你也可以自己翻譯,默認的key如下:
    i18n文件默認為default.properties

    webwork.date.format.past = { 0 }?ago?
    webwork.date.format.future
    = in?{ 0 }?
    webwork.date.format.seconds
    = an?instant?
    webwork.date.format.minutes
    = { 0 , choice , 1 #one?minute| 1 <{ 0 }?minutes}?
    webwork.date.format.hours
    = { 0 , choice , 1 #one?hour| 1 <{ 0 }?hours}{ 1 , choice , 0 #| 1 # , ?one?minute| 1 < , ?{ 1 }?minutes}?
    webwork.date.format.days
    = { 0 , choice , 1 #one?day| 1 <{ 0 }?days}{ 1 , choice , 0 #| 1 # , ?one?hour| 1 < , ?{ 1 }?hours}?
    webwork.date.format.years
    = { 0 , choice , 1 #one?year| 1 <{ 0 }?years}{ 1 , choice , 0 #| 1 # , ?one?day| 1 < , ?{ 1 }?days}?

    為2.2.2的Webwork發布興奮之余也為它的未來有些擔心,到Struts Action Framework發布還有挺久,其中的真空期很難等待呀,WW一向有些小毛病,靠nightly build改善還是很麻煩的。
    2.2.2的更多功能的探索希望大家能夠互相交流。

    還有點補充:現在用ww:property輸出Date類型的數據默認會顯示到毫秒……請注意。

    posted on 2006-03-28 20:00 Tin 閱讀(2568) 評論(3)  編輯  收藏 所屬分類: Webwork相關

    評論

    # re: Webwork 2.2.2新增的ww:date的用法 2006-03-29 13:23 艾塵
    RichTextEditor 的標簽在的我Firefox下無法編輯。。只能用IE。哎。。  回復  更多評論
      

    # re: Webwork 2.2.2新增的ww:date的用法 2006-03-31 11:43 Tin
    RichTextEditor其實就是FCK Editor,在FF應該是可以使用的。
    你可以看看是不是你的設置出了什么問題。  回復  更多評論
      

    # re: Webwork 2.2.2新增的ww:date的用法 2007-11-24 15:01 阿連
    RichTextEditor 標簽有個 checkBrowser 屬性,自動檢查瀏覽器版本,設置了么?  回復  更多評論
      

    主站蜘蛛池模板: 亚洲精品一区二区三区四区乱码 | 亚洲国产日韩a在线播放| 免费看的黄色大片| 亚洲一区二区三区亚瑟| 久久久久久精品免费免费自慰| 图图资源网亚洲综合网站| 国产亚洲精aa在线看| 黄瓜视频影院在线观看免费| 亚洲一区二区高清| 国产精品九九久久免费视频| 在线亚洲午夜理论AV大片| 国产成人AV免费观看| 九月婷婷亚洲综合在线| 亚洲av乱码一区二区三区香蕉| 国产精品入口麻豆免费观看| 最新亚洲卡一卡二卡三新区| 在线jlzzjlzz免费播放| 亚洲黄色片免费看| 18禁免费无码无遮挡不卡网站| 亚洲一区二区三区高清不卡| 宅男666在线永久免费观看| 污网站在线观看免费| 国外亚洲成AV人片在线观看| 无码AV片在线观看免费| 亚洲色欲久久久综合网东京热| 日本不卡免费新一区二区三区| 亚洲日本乱码一区二区在线二产线 | 美女露100%胸无遮挡免费观看| 亚洲精品成人久久久| 东方aⅴ免费观看久久av| 亚洲色av性色在线观无码| 在线播放免费播放av片| jizz免费在线影视观看网站| 亚洲丝袜美腿视频| 久久免费国产视频| 国产AV旡码专区亚洲AV苍井空| 久久亚洲精品无码观看不卡| 在线观看永久免费| 国产亚洲综合久久| 亚洲欧洲日产国码久在线观看| 免费看大黄高清网站视频在线|