HTTL是我去年写的一个模板引擎,不知怎么的,最近问HTTL相关问题的人特别多,还有人发来修复问题的代码,周未抽了点时间,改了改,顺便发个版本,希望能对得起帮忙改代码的用户,感谢你们。
项目已迁移到GitHub上:
http://httl.github.com
源码地址:
https://github.com/httl/httl
下载地址:
https://github.com/httl/httl/downloads
变更日志:
修复问题:
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
分享到:
相关推荐
`httl-1.0.11.jar` 包是HTTL库的版本1.0.11,这个版本包含了HTTL引擎运行所需的所有类和资源,用于在Java应用中集成并使用HTTL模板。 1. **HTTL的核心特性** - **快速高效**:HTTL设计时考虑了性能,它的编译模型...
HTTL模板引擎源码 HTTL(Hyper-Text Template Language)是一个高性能的JAVA开源模板引擎,适用于动态HTML页面输出,可替代JSP页面,它的指令和Velocity相似。
超文本模板语言( HTTL )和引擎 文献资料网页:|示例:|用户指南语法:|配置:|开发指南整合:英文|中文设计:英文|中文帮助(常见问题/团队成员):英语|中文 下载https://github.com/httl/httl/tags 或克隆项目...
自己学习用的,基本上采用都是最新版的程序,jre7编译 不建议直接导入,自己新建maven项目,然后一步步的导入文件,这样有利于学习 1分只是象征,如果一分都没有 ...互相学习,互相进步吧!">自己学习用的,基本上采用...
本篇文章将对四个流行的Java模板引擎——Velocity、FreeMarker、Smarty4j以及HTTL进行效率分析,旨在探讨它们在处理业务逻辑编译和性能方面的优劣。 1. Velocity: Velocity是Apache软件基金会的一个开源项目,以其...
【魔塔游戏开发素材】是一份集合了用于创建魔塔游戏的重要资源,为开发者提供了丰富的素材,便于构建属于自己的魔塔冒险世界。魔塔是一种基于数字逻辑和策略的像素风格游戏,深受玩家喜爱。这份素材可能包括角色图像...
T4模板使用及CSHTMLT4模板使用及CSHTML
HTML颜色库是一个全面的资源,包含了几乎所有的颜色代码值,为网页设计、前端开发以及其他需要颜色编码的应用提供了极大的便利。这个库不仅包含了基本的颜色名称,还涵盖了十六进制(Hex)、RGB、RGBA、HSL以及HSLA...
在IT行业中,文件的上传与下载是Web应用中常见的功能,尤其在企业级系统中更是不可或缺。本技术探讨的是如何使用Java和JSP实现这一功能,同时涉及到了过滤器(Filter)和登录验证的实践。以下将详细介绍这些知识点。...
提到“c++11”,这并不是与m301H盒子修复直接相关的标签,因为盒子的固件通常基于Linux系统,而C++11是C++编程语言的一个版本,主要用于开发软件。不过,如果m301H盒子的固件或应用程序包含C++11特性,那么理解这些...
标题中的“TTL完美破解固件备份M301H_3798mv300h TTL完美破解固件备份 救砖.7z”指的是一个针对特定型号(M301H)设备的固件备份文件集,其中包含了多个关键的系统组件。这个7z压缩包显然用于备份或恢复设备的固件,...
考试时间:120分钟 一、单项选择题(每题1分,共50分) MP3代表的含义 A、一种视频格式 B、一种音频格式 C、一种网络协议 D、软件的名称 超文本标记语言是指 A、 WWW B、 HTTL C、 HTML D、 VRML CD-ROM是指 A、...
超文本标记语言是指 B A、 WWW B、 HTTL C、 HTML D、 VRML 3. CD-ROM是指 B A、数字音频 B、只读存储光盘 C、交互光盘 D、可写光盘 4. 数码相机是利用__B______感受光信号,使转变为电信号,再经模/数转换变成数字...
如果在HTTL中引入Java,JSP则应运而生 2 Web应用体系结构:高层概述 考试要求 什么是容器,容器能带给你什么? 代码里有什么 命名servlet,使用DD将Servlet映射到URL 故事:Bob构建了一个速配网站(MVC) ...
如果在HTTL中引入Java,JSP则应运而生 2 Web应用体系结构:高层概述 考试要求 什么是容器,容器能带给你什么? 代码里有什么 命名servlet,使用DD将Servlet映射到URL 故事:Bob构建了一个速配网站(MVC) ...
如果在HTTL中引入Java,JSP则应运而生 2 Web应用体系结构:高层概述 考试要求 什么是容器,容器能带给你什么? 代码里有什么 命名servlet,使用DD将Servlet映射到URL 故事:Bob构建了一个速配网站(MVC) ...
如果在HTTL中引入Java,JSP则应运而生 2 Web应用体系结构:高层概述 考试要求 什么是容器,容器能带给你什么? 代码里有什么 命名servlet,使用DD将Servlet映射到URL 故事:Bob构建了一个速配网站(MVC) ...
screen.width-333)this.width=screen.width-333" border=0> 第一代TTL包括SN54/74系列,(其中54系列工作温度为-55℃~+125℃,74系列工作温度为0℃~+75℃) ,低功耗系列简称lttl,高速系列简称HTTL。 第二代TTL...
TTL(晶体管-晶体管逻辑)和CMOS(互补金属氧化物半导体)是两种不同的数字电路技术,它们主要用于电子设备中的逻辑信号处理。...除了基本的TTL和CMOS,还有多种变体,如高速TTL(HTTL)、低功耗TTL(LTT