• 开源 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

  • 相关阅读:
    【c/c++】#pragma的用法
    【c/c++】#pragma的用法
    【matlab】matlab中 mcc、mbuild和mex命令详解
    【codecs】数据流ES、PES、TS、PS简介
    【codecs】数据流ES、PES、TS、PS简介
    【SVAC】SVAC标准简介
    【python】Python实现SMTP发送邮件
    【c】#pragma once 与#ifndef的区别与作用
    【c】#pragma once 与#ifndef的区别与作用
    【Tools/PC】如何在一台电脑上实现双屏幕显示?
  • 原文地址:https://www.cnblogs.com/shihao/p/2746707.html
Copyright © 2020-2023  润新知