近日研究使用webwork(版本:2.2.1)的datepicker標(biāo)簽, 它用jscalendar來(lái)實(shí)現(xiàn), 使用非常簡(jiǎn)單:
<
ww:datepicker?
cssClass
="ListBox"
?size
="16"
?showstime
="true"
?name
="start"
?id
="start"
?format
="%Y-%m-%d?%H:%M"
?
/>
顯示頁(yè)面總說(shuō)js錯(cuò)誤, 什么什么對(duì)象沒(méi)有定義之類(lèi)的, 具體忘記了, 查看網(wǎng)頁(yè)源代碼發(fā)現(xiàn)它需要3個(gè)js文件:
<script?type="text/javascript"?src="/webwork/jscalendar/calendar.js"></script>
<script?type="text/javascript"?src="/webwork/jscalendar/lang/calendar-ch.js"></script>
<script?type="text/javascript"?src="/webwork/jscalendar/calendar-setup.js"></script>用winRAR打開(kāi)webwork-2.2.1.jar發(fā)現(xiàn)com\opensymphony\webwork\static\jscalendar\lang 目錄并沒(méi)有
calendar-ch.js文件,倒是有一個(gè)calendar-zh.js文件, 不曉得是怎么回事, 小弟對(duì)i18n沒(méi)有研究, 估計(jì)是webwork的一個(gè)bug吧,發(fā)現(xiàn)有兩個(gè)解決方法:
1.把calendar-zh.js改名為calendar-ch.js, 或把calendar-zh.js另存為calendar-ch.js, 然后重新打包webwork-2.2.1.jar
2.假設(shè)你的webwork.properties有這樣的設(shè)置:
###?Standard?UI?theme
###?Change?this?to?reflect?which?path?should?be?used?for?JSP?control?tag?templates?by?default
webwork.ui.theme=xhtml
webwork.ui.templateDir=template
#sets?the?default?template?type.?Either?ftl,?vm,?or?jsp
webwork.ui.templateSuffix=ftl修改/template/xhtml/datepicker.ftl:
<#if?!stack.findValue("#datepicker_js_included")?exists>
<#assign?trash?=?stack.setValue("#datepicker_js_included",?true)/>
<script?type="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/"?encode='false'/>calendar.js"></script>
<script?type="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/lang/"?encode='false'/>calendar-zh.js"></script>
<script?type="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/"?encode='false'/>calendar-setup.js"></script>
</#if>
<#include?"/${parameters.templateDir}/simple/text.ftl"?/>
<a?href="#"?id="${parameters.id}_button"><img?src="../images/pdate.gif"?width="16"?height="16"?border="0"?alt="點(diǎn)擊這里選擇日期"></a>
<script?type="text/javascript">
????Calendar.setup({
????????inputField?????:????"${parameters.id}",
<#if?parameters.format?exists>
????????ifFormat???????:????"${parameters.format}",
</#if>
<#if?parameters.showstime?exists>
????????showsTime??????:????"${parameters.showstime}",
</#if>
????????button?????????:????"${parameters.id}_button",
<#if?parameters.singleclick?exists>
????????singleclick????:????${parameters.singleclick},
</#if>
????????step???????????:????1
????});
</script>其實(shí)就是把calendar-${parameters.language?default("en")}.js修改成calendar-zh.js