知识管理-FreeMarker

来源:互联网 发布:信鸽分类信息群发软件 编辑:程序博客网 时间:2024/05/02 14:28

FreeMarker简介 - [FreeMarker]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/42436796.html

 

 

概述

FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写

FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件

FreeMarker与容器无关,因为它并不知道HTTPServletFreeMarker同样可以应用于非Web应用程序环境

FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库

FreeMarker是免费的

 

 

相关资料网站

FreeMarker中文文档

http://www.sunjava.cn/FreeMarker.htm

 

FreeMarker设计指南(完整整理)

http://www.dlog.cn/wojiushicai/diary/11765?catalog=1978

 

Freemarker的优缺点

关于freemark

 

几款模板引擎的参评

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

SpringFreemarker的集成

http://www.redsaga.com/spring_ref/2.5/html/view.html#view-velocity