Tin's Blog

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

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 221 評(píng)論 :: 0 Trackbacks
          文章時(shí)間: 2006-1-05 19:00:49    標(biāo)題: Webwork22b5中datapicker的本地化使用方法 引用回復(fù) 編輯/刪除文章 將這個(gè)帖子加入我的Blog

          僅作為記錄,盡量簡(jiǎn)明:
          1、我使用Weblogic 8.1 SP5+Webwork 2.2 beta 5。2.2b5的Webwork已經(jīng)完全轉(zhuǎn)向使用jscalendar作為datapicker的js,而不是以前的tigracalendar,因?yàn)閠igracalendar不支持國(guó)際化。Web項(xiàng)目使用FilterDispatcher,本應(yīng)改可以將/webwork/*的請(qǐng)求攔截下來(lái),但是它工做不正常。所以我把webwork.jar里面的\com\opensymphony\webwork\static目錄拷貝到Web根目錄,并將static目錄重名名為webwork。
          此時(shí),你的Web根目錄下面應(yīng)有一個(gè)名為webwork的目錄,里面有jscalendar、dojo、niftycorners這幾個(gè)文件加,如果不需要其它的,可以只保留jscalendar一個(gè)目錄。
          2、在需要顯示datapicker的地方使用如下標(biāo)記<ww:datepicker name="ecoInf.turninDate" id="ecoInf.turninDate" template="datepicker.ftl" language="cn_utf8" format="%Y-%m-%d %H:%M:%S" showstime="true" />。
          其中template完全可以不寫(xiě)。而name標(biāo)明你的數(shù)據(jù)的來(lái)源。id是方便javascript訪問(wèn)所保留的,可以和name相同(如果有重復(fù)name,如經(jīng)過(guò)iterator,則需要區(qū)別其id,保持id在html dom中唯一)。
          showstime標(biāo)明是否可以選擇時(shí)間,可以是"true","false","24","12"。
          language決定jscalendar使用的語(yǔ)言,參照下面說(shuō)明。
          3、language指定的語(yǔ)言其實(shí)就對(duì)應(yīng)jscalendar/lang下面的語(yǔ)言文件,格式就是calendar-語(yǔ)言名.js,默認(rèn)的中文使用的是zh。但是其實(shí)j2ee項(xiàng)目經(jīng)常面對(duì)中文亂碼問(wèn)題,最佳解決方案就是統(tǒng)一使用UTF-8。但是calendar-zh.js正好不是UTF-8的,所以如果直接使用zh語(yǔ)言則datapicker沒(méi)法正常工作。
          我的解決方法是將webwork附帶的jscalendar 1.0的lang里面的cn_utf8.js改名為calendar-cn_utf8.js,然后將language="cn_utf8"就工作正常了。
          4、關(guān)于時(shí)間的顯示格式。其實(shí)cn_utf8.js里面已經(jīng)制定了時(shí)間的標(biāo)準(zhǔn)顯示格式是%Y-%m-%d,符合我們的習(xí)慣。但是有時(shí)我們需要顯示具體時(shí)間,參照他們網(wǎng)站的說(shuō)明,使用format="%Y-%m-%d %H:%M:%S",這個(gè)也符合我們的習(xí)慣。

          發(fā)個(gè)牢騷:
          本來(lái)奇簡(jiǎn)單。但是很奇怪/webwork/*居然不能在Weblogic下自動(dòng)映射,我一會(huì)而去試驗(yàn)下Tomcat,還有就是js解析utf-8出錯(cuò)造成整個(gè)js沒(méi)法工作,浪費(fèi)了半天時(shí)間,唉。

          相關(guān)鏈接:
          2.2 beta 5的datapicker的doc:
          http://wiki.opensymphony.com/display/WW/datepicker
          jscalendar的官方網(wǎng)站:
          http://www.dynarch.com/projects/calendar/
          jscalendar的使用方法簡(jiǎn)單demo:
          http://www.dynarch.com/demos/jscalendar/
          jscalendar下載:
          http://prdownloads.sourceforge.net/jscalendar/jscalendar-1.0.zip?download
          datapicker本地化的相關(guān)討論:
          http://forums.opensymphony.com/thread.jspa?messageID=21466
          http://forums.opensymphony.com/thread.jspa?messageID=21526


          昨天說(shuō)要試驗(yàn)一下在tomcat下面的/webwork/*的映射是否工作正常。
          經(jīng)過(guò)試驗(yàn)在tomcat下面工作正常,所有com.opensymphony.webwork.static下面的東西都可以自動(dòng)映射到/webwork/*下面。

          也就是說(shuō)又是Weblogic的倒霉問(wèn)題……煩啊。

          也就是說(shuō)不用Webloigic 8.1的朋友們就可以跳過(guò)第一步了。

          有的朋友可能沒(méi)有2.2 beta5,可以去這里下載nightly build,謝謝jscud上次提供這兩個(gè)鏈接:
          http://ivyrep.opensymphony.com/opensymphony/webwork/
          還有對(duì)應(yīng)的xwork:
          http://ivyrep.opensymphony.com/opensymphony/xwork/

          這是一篇老帖子了,已經(jīng)不是最新:
          http://forum.javaeye.com/viewtopic.php?t=17936&highlight=
          posted on 2006-02-16 21:15 Tin 閱讀(570) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Webwork相關(guān)
          主站蜘蛛池模板: 乌什县| 法库县| 仁寿县| 东乌珠穆沁旗| 银川市| 合山市| 金坛市| 台南县| 仁化县| 贵阳市| 普兰县| 宣恩县| 太仆寺旗| 界首市| 奎屯市| 巴南区| 丹阳市| 莎车县| 石棉县| 金平| 金溪县| 河北区| 东源县| 扎囊县| 上林县| 赤城县| 陆川县| 疏勒县| 满城县| 柳州市| 桐梓县| 大兴区| 广河县| 灵石县| 五寨县| 宕昌县| 乐昌市| 仙桃市| 黄浦区| 大同市| 简阳市|