FreeMarker特性
1、通用目标
l 能够生成各种文本:HTML、XML、RTF、Java源代码等等
l 易于嵌入到你的产品中:轻量级;不需要Servlet环境
l 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等
l 你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器
2、强大的模板语言
l 所有常用的指令:include、if/elseif/else、循环结构
l 在模板中创建和改变变量
l 几乎在任何地方都可以使用复杂表达式来指定值
l 命名的宏,可以具有位置参数和嵌套内容
l 名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突
l 输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换
3、通用数据模型
l FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示
l 你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰
4、为Web准备
l 在模板语言中内建处理典型Web相关任务(如HTML转义)的结构
l 能够集成到Model2 Web应用框架中作为JSP的替代
l 支持JSP标记库
l 为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员
5、智能的国际化和本地化
l 字符集智能化(内部使用UNICODE)
l 数字格式本地化敏感
l 日期和时间格式本地化敏感
l 非US字符集可以用作标识(如变量名)
l 多种不同语言的相同模板
6、强大的XML处理能力
l <#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树
l 在模板中清楚和直觉的访问XML对象模型
l FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
l FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
l 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)
![](http://blog.csdn.net/images/blog_csdn_net/chenyun2000/47734/o_freemarker.gif)
l FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件
l FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
l FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
l FreeMarker是免费的
分享到:
相关推荐
在这个场景中,"freemarker格式化缩进文本或include指令"主要涉及了两个重要的FreeMarker特性:格式化输出(formatting indentation)和模板包含(template inclusion)。 1. **格式化输出**: FreeMarker默认并不...
这只是一个基础的介绍,实际开发中,你可以根据项目需求配置更多的Freemarker特性和功能,如缓存管理、日期格式化等,以满足复杂的应用场景。记住,熟练掌握Freemarker的语法和配置,能让你在构建动态网页时更加...
FreeMarker概述、FreeMarker特性、FreeMarker应用指南
这一部分提供了对FreeMarker特性的详细参考,包括内建函数和指令。 一、内建函数参考文档 1.1 处理字符串的内建函数:提供了各种内建函数来处理字符串数据。 1.2 处理数字的内建函数:关于数字数据处理的内建函数。...
### FreeMarker 特性 1. **性能优化**:FreeMarker缓存编译后的模板,提高执行效率。 2. **国际化支持**:可以轻松处理多语言环境,通过`#setLocale`和`#fmt`指令。 3. **安全机制**:防止恶意用户注入代码,通过...
这个例子可以作为基础,通过引入更多的FreeMarker特性,如条件语句、循环结构、自定义函数等,来增强模板的功能。同时,可以通过优化Servlet的性能,如使用缓存、异步处理等手段,提高整个应用的响应速度。 综上所...
具体到`2.3.23`这个版本,它可能包括以下特性: 1. **模板设计**:Freemarker支持多种模板设计,如HTML、XML、邮件模板等。模板文件的扩展名通常是`.ftl`(FreeMarker Template Language)。 2. **数据模型**:...
6. **集成开发环境**:与Eclipse的其他特性无缝集成,例如版本控制、调试器、构建工具等,为Freemarker开发提供一站式解决方案。 7. **版本更新**:插件会定期更新,以适配最新的Freemarker版本和Eclipse平台,保持...
6. **安全机制**:FreeMarker有防止跨站脚本(XSS)攻击的安全特性,可以设置模板的安全模式,限制模板执行某些可能带来安全风险的操作。 7. **模板缓存**:为了提高性能,FreeMarker可以缓存编译后的模板,减少...
- **学习曲线**:Velocity的学习曲线较平缓,适合初学者,而FreeMarker可能需要更多时间去熟悉其高级特性。 - **灵活性**:FreeMarker的灵活性更强,可以更好地处理复杂逻辑,而Velocity更强调模板的纯粹性,尽量...
以下是对给定的Freemarker不同版本jar包的详细说明: 1. **Freemarker 2.3.19**: - 这个版本可能包含了一些基本的功能,如模板语言的语法,变量、表达式和控制结构。 - 它可能已经支持了数据模型绑定,允许...
-FreeMarker 的特性: 1. 通用目标:能够生成各种文本:HTML、XML、RTF、Java 源代码等等。 2. 轻量级:易于嵌入到你的产品中,不需要 Servlet 环境。 3. 插件式模板载入器:可以从任何源载入模板,如本地文件、...
注意,为了保持HTML样式在转换过程中的完整性,你需要确保HTML模板中使用的CSS是wkhtmltox支持的,并且避免使用某些不兼容的特性。此外, wkhtmltox的配置选项也可以调整,例如设置页面大小、边距和加载策略。 通过...
在2.3.10这个版本中,Freemarker提供了以下关键特性: 1. **模板语言**:Freemarker的模板语言是一种简单的、非侵入式的标记语言,允许开发者在模板中嵌入变量和控制结构。例如,`<#if>`、`<#foreach>`等指令用于...
它的语法简洁且强大,支持条件判断、循环、函数调用等编程特性。在Struts2中,Freemarker模板通常被用作视图层,将由Action处理后的数据填充到模板中,生成最终的用户界面。开发者可以定义变量和方法,在模板中使用...
Freemarker是一个强大的模板引擎,它属于Java世界中的一个开源项目,主要应用于生成动态HTML、XML或其他文本格式的输出。...同时,Freemarker提供的丰富特性和灵活性,使其在各种Java项目中都有广泛的应用。
6. **安全特性**:FreeMarker允许限制模板的执行权限,防止恶意用户通过模板注入攻击。 7. **预处理与后处理**:开发者可以通过自定义处理器对模板进行预处理(如添加全局变量)和后处理(如HTML转义)。 8. **...
二、FreeMarker的主要特性 1. 非脚本语言:FreeMarker模板不包含执行逻辑,所有逻辑都在后端Java代码中处理,这有助于保持模板清晰,易于维护。 2. 高效性:由于模板在服务器端预编译为Java代码,因此FreeMarker执行...
自定义标签则是Freemarker的一个高级特性,允许我们扩展其内置功能,创建自己的模板标签。自定义标签通常以`<@...>`的形式出现,它们可以封装复杂的逻辑,提供更抽象的界面给模板设计者。创建自定义标签通常需要两个...