- 浏览: 7488 次
- 性别:
- 来自: 大连
最新评论
文章列表
使用velocity的时候,我们可能需要实现自定义的函数,类似:
#somefun()
这个函数可能是需要做一些业务代码,或者往context存取变量,或者可以向页面输出html代码。
假如我们要写一个输出hello xxx的函数,其中xxx是从context中取出的变量值,首先要在velocity.properties中添加一个:
userdirective=me.bwong.vm.HelloFun,...others
这一行告诉velocity引擎,在我的工程中有一个velocity函数,这个函数实现类是me.bwong.vm.HelloFun,这个类需要实现接口:org ...
没想到第一篇文章就被选为推荐文章,所以要更加加把劲写了,这里科普性质的介绍一下dojo组件渲染过程。
首先是dojo组件的引用机制,引用dojo组件有两种方式:
一:通过script标签
二:通过dojo.require
第一种方式就没什么可说的了,第二种方式是一种比较方便但是又比较影响性能的方式,dojo.require入参是组件名,字符串参数,dojo的组件名参照类似java包的方式,通过路径名和文件名确定(有例外),比如dijit.form.Button,这个组件的脚本就在dojo包目录同级目录向下找,首先dojo包,也就是dojo.js所在目录,和这个目录平级应该有个叫dijit的目录, ...
dojo把一个对象序列化成json时,如果对象中包含正则表达式,正则表达式会被转换为{},而不能转换为toString()形式,可以给dojo打个补丁,参看如下加粗代码:
/**
* dojo.toJson方法,增加正则表达式支持
*/
dojo.toJson = function(/*Object*/it, /*Boolean?*/ prettyPrint, /*String?*/ _indentStr){
if (it === undefined) {
return "undefined";
}
var objtype = t ...