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"}加入标签语法外套支持,如: