FreeMaker

1.FreeMaker技术概况:Freemarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,具有以下特点:
(1)Freemarker 适合被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序。
(2)虽然Freemarker 具有一些编程的能力,但通常由Java程序准备要显示的数据,由Freemarker 生成页面,通过模板显示准备的数据 。

(3)Freemarker 不是一个Web应用框架,而适合作为Web应用框架一个组件。

(4)Freemarker 与容器无关,因为它并不知道HTTP或Servlet。
(5)Freemarker 更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。
(6)Freemarker 是免费的 。

2.FreeMaker标准FTL指令:

1) if, else, elseif
语法
<#if condition>
  ...
<#elseif condition2>
  ...
<#elseif condition3>
 ......
<#else>


2) switch, case, default, break
语法:
<#switch being.size>
   <#case "small"> 
      This will be processed if it is small 
      <#break> 
   <#case "medium"> 
      This will be processed if it is medium  
     <#break> 
   <#case "large">
      This will be processed if it is large
      <#break>
  <#default>
     This will be processed if it is neither
 </#switch>


3) list, break
语法:
<#list sequence as item>
...x
    <#if item="spring"><#break></#if>...
</#list>


4) include
<#include filename>
or<#include filename options>
options包含两个属性encoding=”GBK” 编码格式parse=true 是否作为ftl语法解析,默认是true,false就是以文本方式引入.注意在ftl文件里布尔值都是直接赋值的如parse=true,而不是parse=”true”; 
5) Import
<#import path as hash>
6) assign
<#assign name=value>
Or
<#assign name1=value1 name2=value2 ...nameN=valueN>
Or
<#assign name> capture this</#assign>
Or
<#assign name in namespacehash>
    capture this
</#assign> 


7) macro, nested, return
语法:
<#macro name param1 param2 ...paramN>
        ...
    <#nested loopvar1, loopvar2, ..., loopvarN>
        ...
     <#return>
        ...
</#macro> 

猜你喜欢

转载自blog.csdn.net/wujiangang5112/article/details/78348848