根基简介
FreeMarker是一款模板引擎: 即一种基于模板以及要修正的数据,并用来天生输入文本(HTML网页、电子邮件、配置装备部署文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款挨次员可能嵌入他们所开拓产物的组件。
软件特色
1. 通用性
可能天生种种文本:HTML、XML、RTF、Java源代码等等。
易于嵌入到产物中:轻量级;不需要Servlet情景。
插件式模板载入器:可能从任何源载入模板,如当地文件、数据库等等。
可能按所需天生文本:保存到当地文件;作为Email发送;从Web运用挨次发送它返回给Web浏览器。
2. 模板语言
所有罕用的指令:include、if/elseif/else、循环妄想。
在模板中建树以及修正变量。
简直在任何中间都可能运用重大表白式来指定值。
命名的宏,可能具备位置参数以及嵌套内容。
名字空间有助于建树以及呵护可重用的宏库,概况将一个大工程分成模块,而不用耽忧名字矛盾。
输入转换块:在嵌套模板片断天生输入时,转换HTML转义、缩短、语法高亮等等;可能界说自己的转换。
3. 通用数据模子
FreeMarker不是直接反射到Java工具,Java工具经由插件式工具封装,以变量方式在模板中展现。
可能运用抽象(接口)方式展现工具(JavaBean、XML文档、SQL查问服从集等等),见告模板开拓者运用。措施,使其不受技术细节的打扰。
4. 为Web豫备
在模板语言中内建处置典型Web相关使命(如HTML转义)的妄想。
可能集成到Model2 Web运用框架中作为JSP的替换。
反对于JSP标志库。
为MVC方式妄想:分说可视化妄想以及运用挨次逻辑;分说页面妄想员以及挨次员。
5. 智能的国内化以及当地化
字符集智能化(外部运用UNICODE)。
数字格式当地化敏感。
日期以及光阴格式当地化敏感。
非US字符集可能用作标识(如变量名)。
多种差距语言的相同模板。
6. XML处置能耐
<#recurse> 以及<#visit>指令(2.3版本)用于递归遍历XML树。
在模板中清晰以及直接的碰头XML工具模子 。