首页|手机|笔记本|上网本|数码|家电|DIY硬件|装机|办公|软件|下载|产品|行情|卖场|报价|企业|网络|游戏|资讯|社区|活动 订阅您的资讯

下载中心

快速描述:CommonTemplate是模板引擎,用于解释CTL模板语
CommonTemplate 简介
CommonTemplate是一个模板引擎,用于解释CTL模板语言,可在多种运行时环境下使用;其主要目标是作为JSP,ASP.Net等的替代方案,以保证用简单的语法,良好的结构,不混杂业务逻辑的方式书写页面;也可以作为动态文本生成工具,生成HTML、XML、Mail、Java源代码或其它文本等。
二、CommonTemplate特性:
1.只有一个语法规则:$指令名{表达式},使用更简单,更统一。
2.支持语法外套,可以在Dreamwear下正常使用WYSWYG,并且语法外套也是可扩展的。
3.微核理念,高度可扩展,除了核心API,其它逻辑相关处理都是外置的,包括所有指令及表达式,标准的 for, if, else 等指令,以及 + - * / 等表达式,均可被替换。
4.使用主控迭代器模式替代传统的被动访问器模式,引擎只负责将模板解析成指令树,其它所有处理均由扩展指令自身完成,给扩展指令以最大的控制权。(类似于StAX与SAX的区别)
5.对已有不可变类(String,Number,Date等),属性扩展,采用open class思想。(类似javascript的prototype)
6.支持宏引用及模板继承,更有利于模板组件化。
7.内置的国际化支持,国际化信息处理更方便。
8.多种优化措施,性能更优:
    (1) 采用针对特定语法写的低级专有DFA解析器解析,试验表明比使用通用抽象的BNF语法体系解析(Java中一般用JavaCC或AntLR)要快,因为BNF为了通用,考虑了太多因素,导致其效率降低,当然,BNF在处理复杂语法(比如要解析C/C++/Java等语法时)很有优势,但CommonTemplate的语法非常简单且统一,所以使用专有的低级解析器是比较好的选择。
    (2) 解析结果被表示成一个线程安全(不变类级)的指令树,单个实例可以在多线程中任意重复使用,避免使用重复解析或克隆等性能损耗。
    (3) 解析结果可以在内存中缓存起来,以减少解析次数及IO量,并且缓存策略是可扩展的。(已内置实现了NONE, STRONG, SOFT, FIFO, LRU, MRU, OSCACHE, EHCACHE等缓存策略)

 


0.8.7 版本更新:(2008-10-03) 下载...问题修复:修复Object.toJson在两对象互相引用时死循环的BUG修复静态方法不能调用的BUG, 如: ${&com.xxx.Utils.calc(xxx)}修复$setting指令String到Locale转换的BUG.修复"&"和"new"在处理类元和属性上的歧义, 最大匹配类元, 如: ${new com.xxx.User.name} ${&com.xxx.User.PREFIX}修复调试器在处理层级包含模板时, Step Return不能回到上一模板的BUG.修复LruCache在移动Key顺序时出现的空指针异常.修复静态函数被编译器优化后缓存了结果的问题,排除对函数的优化.修复磁盘缓存并发异常, 并忽略乐观并发无锁读取时的异常.修复ContextImpl.clear()未调用super.clear()的BUG.修复磁盘缓存无效的BUG.补全List有,而Array没有的操作符,使Array和List的处理一致,如:"~","!~","orderby"等.修复orderby操作符PropertyComparator值覆盖的BUG.修复${super.super.for},在$for指令嵌套$if指令时,将$if指令也作为一层super的BUG.修复${super.super.for},在$for指令嵌套$if指令时,将$if指令也作为一层super的BUG.修正模板错误指令位置信息(错误指令所在行列均基于1显示)功能变化:拆分Visitor为TemplateVisitor和ExpressionVisitor将$操符符改为new, 与Java保持一致.is或instanceof操作符的右参字符串引号可省,如:${user is com.xxx.User} 或者 ${user is "com.xxx.User"}使用$output代替原有$out指令,$out指令改为与${}空名称指令等价调试器Output内容与线程绑定, 可切换显示.不再内嵌json和jyaml的源码, 直接依赖json.jar和jyaml.jar改为通过配置状态开闭语法外套: commentSyntaxCoatAvailable=true, tagSyntaxCoatAvailable=false, attributeSyntaxCoatAvailable=false将log相应类从standard包移至util包,并增加对Log4J, Avalon, SLF4J, JDKLogging等的集成. 日志集成...引擎分层结构中,将资源加载与缓存划分到TemplateEngine.修改属性语法外套在处理HTML注释时空指针异常,并重新简化实现属性语法外套.重新实现this和super语义, 并增加ScopeHandler扩展点.将core包的Resource/ResourceLoader改为Source/SourceLoader,避免与tools.bean包的ResourceLoader歧义.增加staticFunction/staticProperty处理器,区分于systemFunction/systemProperty新增特性:注释语法外套, 增加clearSpaceline属性, 如果指令所在行没有其它内容, 则清除该空白行.完成热加载国际化信息文件.增加ExpressionFilter扩展点, 在表达式编译之前过滤表达式字符串.Web环境中, 表达式增加支持< >等XML转义符, 如: $var{session -> name = "kent"}操作符处理器增加isOperandDotNamed()状态设置,用于将点号作为名称处理.UnaryOperatorHandler扩展点增加isKeyword()状态的设置, 如: new操作符, 设为关键字的操作符名不能再作为变量名使用.增加String.newInstance扩展属性和String.newInstance(args)方法实现ReloadMessageSource, 热加载国际化配置.$load指令加入指定编码支持. 如: $load{xml: "xxx.ctl", "utf-8"} 或 $load{"xxx.ctl", "utf-8"}加入标签语法外套支持,如:...实现PropertiesCodeFilter, 使用如: $code{properties}...$end 或者 $code{ini}...$end增加扩展属性Object.toXstream, String.fromJson, String.fromXml, String.fromXstream增加$escape{xhtml}和${String.escapeXhtml}, 类似XML, 但"'"改为"'"$embed, $include, $display 支持国际化后缀查找, 如: xxx.ctl, 首先查找xxx_zh_CN.ctl, 再查找xxx_zh.ctl, 否则查找xxx.ctl, 配置项: localizedLookup=true 决定否开启此功能.支持"*/"通配目录:$include{"*/xxx.ctl"} 在当前目录以上的目录中逐级查找xxx.ctl增加与JDK1.6中的javax.script的脚本引擎集成. 脚本引擎集成...增加Object[].asList扩展属性, 数组转列表.增加与JCache的集成适配. 缓存集成...增加与Map接口适配的ExpressionContext,方便表达式引擎使用.完成TemplateGenerateTask,使用户可以通过ant调用模板解析任务。模板生成器说明...增加文件夹生成系统菜单,可通过右键菜单将一个目录中的所有模板生成到另一目录。模板查看器说明...-----------------感谢吴勇智加入开发插件.感谢JRest4Guice开发小组的支持.

立刻下载CommonTemplate软件 0.78MB
1 2 3 4 5
当前平均分: 4 (42次打分)
装机必备软件
模板引擎热门搜索关键字
FreeMarker CommonTemplate Velocity
模板引擎排行榜
  1. Freemarker中文教程 下载
  2. FreeMarker 2.4 Preview 1 下载
  3. Velocity 1.6.2 下载
  4. CommonTemplate 0.8.7 下载
  5. CommonTemplate Source Package 0.8.5 下载
开源代码排行榜
最新更新软件
  1. 网易闪电邮 2.0.0.61 Beta 下载
  2. Office 2010 Beta Professional Plus 14.0.4536.1000 下载
  3. 腾讯 QQ2009 正式版 SP6 体验版 下载
  4. QQ开心农场宝贝(QQ农场外挂-绿色版) 2.1 下载
  5. 鲁大师 (原:Z武器) 2.47 Build 9.1126 下载
  6. Flashget 快车 3.3.0.1082 正式版 下载
  7. RealPlayer SP 完整安装包 1.0.5 Build 12.0.0.343 下载
  8. Mozilla Firefox 简体中文测试版 3.6 Beta 4 下载
  9. 格式工厂 2.20 下载
  10. QQ旋风2 2.3.602.301 正式版 下载