kelefa  
大千世界中,唯一缺乏的就是人类的注意力。
日历
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
统计
  • 随笔 - 11
  • 文章 - 0
  • 评论 - 28
  • 引用 - 0

导航

常用链接

留言簿(2)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

近日研究使用webwork(版本:2.2.1)的datepicker标签, 它用jscalendar来实现, 使用非常简单:

< ww:datepicker  cssClass ="ListBox"  size ="16"  showstime ="true"  name ="start"  id ="start"  format ="%Y-%m-%d %H:%M"   />

显示页面总说js错误, 什么什么对象没有定义之类的, 具体忘记了, 查看网页源代码发现它需要3个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打开webwork-2.2.1.jar发现com\opensymphony\webwork\static\jscalendar\lang 目录并没有calendar-ch.js文件,倒是有一个calendar-zh.js文件, 不晓得是怎么回事, 小弟对i18n没有研究, 估计是webwork的一个bug吧,发现有两个解决方法:
1.把
calendar-zh.js改名为calendar-ch.js, 或把calendar-zh.js另存为calendar-ch.js, 然后重新打包webwork-2.2.1.jar
2.假设你的webwork.properties有这样的设置:
### 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="点击这里选择日期"></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>
其实就是把calendar-${parameters.language?default("en")}.js修改成calendar-zh.js
posted on 2006-07-13 14:32 杨杰荣 阅读(2167) 评论(1)  编辑  收藏 所属分类: webwork,hibernate
评论:
  • # re: webwork的datepicker标签  kelefa Posted @ 2007-04-27 15:56
    其实是webwork.properties配置文件配错了,改成这样就ok了:

    webwork.locale=zh_CN  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 杨杰荣 Powered by: 博客园 模板提供:沪江博客