内建函数 内建函数的用法类似访问散列的子变量,只是使用“?”替代“.”,下面列出常用的一些函数 字符串使用的: 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 & Jerry TOM & 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的广泛特性和强大功能使其在许多场景下成为更优选择。
- 粉丝: 12
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLO-yolo资源
- 适用于 Java 项目的 Squash 客户端库 .zip
- 适用于 Java 的 Chef 食谱.zip
- Simulink仿真快速入门与实践基础教程
- js-leetcode题解之179-largest-number.js
- js-leetcode题解之174-dungeon-game.js
- Matlab工具箱使用与实践基础教程
- js-leetcode题解之173-binary-search-tree-iterator.js
- js-leetcode题解之172-factorial-trailing-zeroes.js
- js-leetcode题解之171-excel-sheet-column-number.js