![]() |
![]() ![]() ![]() |
| |
僅作為記錄,盡量簡(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=