FreeMarker(FTL)简单介绍

来源:互联网 发布:大数据的利用过程顺序 编辑:程序博客网 时间:2024/05/16 17:38

1.FreeMarker是一个模板引擎,是一个基于模板生成文本输出的通用工具,使用纯java编写。FreeMarker被设计生成HTML  Web页面,特别是基于MVC模式的应用程序。FreeMarker不是Web应用框架,而适合作为Web应用框架的一个组件

2.FreeMarker模板包含下面4种特定的部分:

  1. ${}#{} 插值,FreeMarker会在输出时用实际值进行替代
  2. FTL标记,类似THML标记,为与HTML标记区分,用#开始(有些以@开始)
  3. 注释<#---->之间
  4. 文本直接输出

3.空白字符会在输出时移除

4.if指令

<#if>

<#else>

<#elseif>

</#if>

如果变量是布尔值时,可以直接<#ifcondition>

5.list指令<#list sequence asvalue>repeatThis</#list>

sequence是遍历的list.

value是当前遍历项的值,repeatThis是每一项遍历时执行的语句

<#list  cars as car>

<li>${car.name} </li>

</#list>

6.两种类型的指令:预定义指令和用户指令

用户指令要用@替换#

7.内建函数:类似java对象的方法,使用"?"代替"."来访问他们

?html

?cap_first

?lower_case

?upper_case

?trim

?size

${test?upper_case}将变量test的值变成大写输出

8.!:指定缺失变量或变量值为null的默认值

${value!""}如果value变量不存在或者值为null就输出空

9.??:判断某个变量是否存在,返回boolean

<#if (a.b) ??>注意在if后不加$符号

10.赋值操作符

<#assign x=1>

11.插值只能用于文本区和字符串内部

<h1>${user}</h1>

<#include"/footer/${user}.html"></#include>

表达式的结果必须是字符串,数字或者日期,这些指可以自动转换为字符串,而其他类型比如布尔值,序列需要手动地转换为字符串


0 0
原创粉丝点击