给国人的CTE的一些建议

非常好的项目,首先他是中国人开发的,太棒了!
http://www.commontemplate.org/zh/index.html
自家人提点意见和建议
1. 不可以函数调用
禁止函数调用,避免在模板中引入业务逻辑。(允许配置开启非void函数调用)

看了这条,我便不打算使用CTL
因为我每天都在使用freemarker,freemarker中不能调用static 函数的问题,让人很气愤。CTL居然直接不能调用函数,太费解了。
$for(user:UserFunc.usersOf(group))
...do something with user info...
这种事情,很常见
除此之外,很棒

我想CTL是一个模板语言,而不是一个编程框架,所以“避免在模板中引入业务逻辑”这不是模板语言应该关心的事情,而是框架开发者应该关心的事情。但作为一个潜在需求,可以这样定位:
“可以调用函数以及静态函数,也可以声明‘禁止’函数调用,以避免在模板中引入业务逻辑”

2.freemarker的空值处理,很讨厌,动辄大堆异常,NullPointException在模板语言甚至在脚本语言中都显得不太必要,但空值判断很有必要。如:
user!'user not defined',在user为空时可以方便的定义空值的显示,
另外三元运算符也很需要,如:
(user.id==1)?'id=1':'id<>1'
user??user.name:'not defined'

你可能感兴趣的:(JavaScript,编程,freemarker,框架,commontemplate)