FreeMarker简介 - [FreeMarker]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/42436796.html
概述
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
FreeMarker是免费的
相关资料网站
FreeMarker中文文档
http://www.sunjava.cn/FreeMarker.htm
FreeMarker设计指南(完整整理)
http://www.dlog.cn/wojiushicai/diary/11765?catalog=1978
Freemarker的优缺点
几款模板引擎的参评
http://www.javaeye.com/topic/291280
jsp,velocity或者freemarker 比较
http://topic.csdn.net/u/20090508/11/6e8b5cce-02ae-4fca-bb8e-e692e023542f.html
外部关联性
操作
示例代码:
1、${message} ${title?html} ${.output_encoding}
顶层变量: ${variable} 从散列中获取数据:${book.author.name}
${title?html} 使用了内建函数: (html:对字符串进行HTML编码)
例子(假设test保存字符串"Tom & Jerry"):${test?html} 输出Tom & Jerry
2、<#macro page title> </#macro>
宏是在模板中使用macro指令定义。在macro指令中可以在宏变量之后定义参数。
如:<#macro greet person> <#macro greet person color>
调用<@greet person="Fred"/> <@greet person=Fred/> 后者是变量
3、<#nested>
定义 嵌套内容 如:
4、<#import "/lib/common.ftl" as com>
导入 名字空间
5、<#escape x as x?html> </#escape>
6、<@com.page title="Index"> </@com.page>
调用com对应模板文件的信息。
7、<#if guestbook?size = 0> <#else> </#if>
<#if e.email?length != 0> (<a href="mailto:${e.email}">${e.email}</a>)</#if>
逻辑判断
8、<#list guestbook as e> ${e.name} </#list>
显示列表的所有信息
Spring Framework 2.5 Reference中文版正式发布
项目主页:http://wiki.redsaga.com/confluence/display/Spring2/Spring2.5
Spring和Freemarker的集成
http://www.redsaga.com/spring_ref/2.5/html/view.html#view-velocity