FreeMarker概述2008

preview
需积分: 0 6 下载量 123 浏览量 更新于2008-08-30 收藏 208KB DOC 举报
 内建函数  内建函数的用法类似访问散列的子变量,只是使用“?”替代“.”,下面列出常用的一些函数  字符串使用的:  html:对字符串进行HTML编码  cap_first:使字符串第一个字母大写  lower_case:将字符串转换成小写  upper_case:将字符串转换成大写  trim:去掉字符串前后的空白字符  序列使用的:  size:获得序列中元素的数目  数字使用的:  int:取得数字的整数部分(如-1.9?int的结果是-1)  例子(假设test保存字符串"Tom & Jerry"): ${test?html} ${test?upper_case?html} 输出结果是: Tom &amp; Jerry TOM &amp; JERRY FreeMarker是一个开源的模板引擎,主要用于生成HTML Web页面,尤其适用于MVC模式的应用程序。它不是Web应用框架,而是作为框架的一个组件,如Struts。FreeMarker与HTTP或Servlet容器无关,可在各种环境中使用,包括非Web应用。 FreeMarker的核心特性包括: 1. **通用目标**:FreeMarker能够生成各种文本格式,如HTML、XML、RTF等,并且可以通过自定义模板加载器从各种来源获取模板。 2. **强大的模板语言**:提供了丰富的指令,如`include`、`if/elseif/else`、循环结构等。模板中可以创建和改变变量,使用复杂的表达式来设置值。此外,还有命名的宏和命名空间功能,便于组织和重用模板片段。 3. **通用数据模型**:FreeMarker通过插件式对象封装机制,使得Java对象能在模板中以变量形式显示。它支持抽象的表示方式,如JavaBean、XML文档等,让模板开发者无需关心底层技术细节。 4. **为Web准备**:内建处理Web相关的任务,如HTML转义,支持集成到Model2 Web框架中,替代JSP。同时,它支持JSP标记库,遵循MVC模式,分离视觉设计和应用程序逻辑。 5. **智能的国际化和本地化**:FreeMarker支持多种字符集,智能处理Unicode,本地化的数字格式、日期和时间格式,以及非英文字符集作为标识。 6. **强大的XML处理**:提供了`<#recurse>`和`<#visit>`等指令,方便遍历XML树,并以直观的方式访问XML对象模型。 对比其他模板引擎,如Velocity,FreeMarker的优势在于: 1. **更丰富的特性**:FreeMarker支持更多的操作,如数字和日期的算术运算和格式化,国际化处理,以及更复杂的循环和数组处理。 2. **更强大的模板控制**:FreeMarker的宏功能更为强大,允许局部变量、递归宏调用、缺省参数和嵌套体内容。同时,宏可以作为变量或参数传递,增加了模板的灵活性。 3. **命名空间**:命名空间支持多个变量命名空间,避免命名冲突,有助于构建和维护宏库。 FreeMarker作为一个强大的模板引擎,提供了丰富的模板语言和灵活的数据模型,是Web开发中的有力工具。尽管Velocity等其他工具也有其优点,但FreeMarker的广泛特性和强大功能使其在许多场景下成为更优选择。
salinone
  • 粉丝: 12
  • 资源: 5
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源