dorado是一个很好的jsp表现层,为程序员省出了画界面的时间,而且自身的界面也还漂亮,但是封装集成的太好了的东西总会出现麻烦,那就是很难添加自定义的东西。
dorado使用时间很方便,直接将类型设为datatime就行了,会自动关联dorado自己的一个日期输入框。可是,只有日期输入框,没有输入时间的。那就要自己定义了。
在网上down了好多个日期时间输入框,可是都和dorado不兼容,页面报javascript的错。经过2天的时间,终于找到了,先看dorado生成的html中的javascript代码:
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadConst.d?language=cn&country=ZH"></script>
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadRes.d?res=/utils.js"></script>
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadRes.d?res=/base.js"></script>
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadRes.d?res=/control.js"></script>
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadUserLib.d?file=/lib/marmot-plugin.js"></script>
在上面的javascript代码中,/WareHouse/dorado/smartweb2.loadRes.d?res=/control.js为主要的js,(WareHouse是你的程序目录),下载下来,得到文件smartweb2.loadRes.d,打开,查找Date.prototype,找到如下函数:
Date.prototype.toString=function(){
return this.getTime().toString();
};
删除此函数,把文件另存为newDoradoControl.js,并放到web目录中。
如果在dorado生成的页面里面引用的是我们修改了的js的话,时间日期函数就不会报错,可是引用javascript是dorado自动生成的,因此不能使用dorado自动生成。把dorado生成的html文件代码拷贝到新文件dropCalendar.jsp里面,修改
<script language="javascript" src="/WareHouse/dorado/smartweb2.loadRes.d?res=/control.js"></script>
为
<script language="javascript" src="newDoradoControl.js"></script>
再在dropCalendar.jsp实现你的日期时间框,一切OK,冲突没有了。