开源 Java 模板引擎 HTTL 1.0.0 发布
开源 Java 模板引擎 HTTL 1.0.0 发布了,改进记录包括:
修复问题: 
 
1. 解决foreach和if/else联合使用时状态错乱问题。 
2. 解决getIsXxx属性解析出错问题。 
3. 解决文件加载未使用指定编码问题。 
4. 解决部分文件流打开后未关闭问题。 
5. 解决迭代map出错的问题,以及Map数据的类型推断问题。 
 
新功能: 
 
6. 支持单独的macro文件定义宏方法,通过import.macros配置加载。 
7. 增加gt,ge,lt,le符号,在属性语法时避免表达式出现HTML标签符。 
 
兼容优化: 
 
8. 静态方法不走engine.getFunction()查找实例,直接调用类的静态方法。 
9. 将所有配置的获取改为setter注入,比如:setInputEncoding(String)。 
10. 编译Macro时直接注入到模板属性中,并增加template.getMacros()方法。 
11. 渲染过程不改变传入Map的状态,保证模板渲染的无副作用性,以及多次渲染的幂等性。 
12. 优化Profiler性能分析发现的ArrayIterator引起的性能损耗问题。 
13. 将文本内容不编译到字节码中,改为从缓存中获取,防止内存Perm区过大,并提供source.in.class和text.in.class开关项。 
 
不兼容优化:(注:从旧版本升级到1.0.0请注意不兼容优化项) 
 
14. 将define指令名改成var,以免和velocity的define指令理解混淆,影响所有旧模板,用户可全文替换。 
15. 去掉block指令,用#set(xxx = xxxmacro())代替,影响使用block的模板。 
16. 将com.googlecode.httl改成httl,影响API调用,重新Ctrl+Shift+O导入一下包名即可,类名没变。 
17. 将com.googlecode.httl.support改成httl.spi,影响httl.properties中扩展点的配置,使用缺省配置值的,建议不要配到用户配置中。 
18. 将filters配置项改成了value.filters,与text.filters对应用,影响httl.properties中filter扩展点的配置。 
19. 将functions配置项成了import.methods,与import.packages以及import.macros对应,方便理解。 
20. 加号数字优先,即只要有一方为数字即换数字计算,如:"2" + 3,输出:5,而不是:23,如果要字符相拼双方都要为字符:"2" + 3.toString
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号