$("#").html(ftl) js 动态引入宏定义,FreeMarker模板学习笔记...

本文详细介绍了FreeMarker模板的使用,包括数据模型、数据类型、指令、表达式以及宏定义等核心概念。通过实例展示了如何在模板中动态引入宏定义,帮助读者深入理解FreeMarker模板语言。
摘要由CSDN通过智能技术生成

FreeMarker模板学习笔记

扬子江 发表于 2007-2-21 15:11:19

FreeMarker模板包含FreeMarker的指令的文件就称为模板(Template)。

模板设计者不关心数据从那儿来,只知道使用已经建立的数据模型。

数据模型由程序员编程来创建,向模板提供变化的信息,这些信息来自于数据库、文件,甚至于在程序中直接生成。

数据类型:

一、基本:

1、scalars:存储单值

字符串:简单文本由单或双引号括起来。

数字:直接使用数值。

日期:通常从数据模型获得

布尔值:true或false,通常在标记中使用

2、hashes:充当其它对象的容器,每个都关联一个唯一的查询名字

具有一个唯一的查询名字和他包含的每个变量相关联。

3、sequences:充当其它对象的容器,按次序访问

使用数字和他包含的每个变量相关联。索引值从0开始。

4、集合变量:

除了无法访问它的大小和不能使用索引来获得它的子变量:集合可以看作只能由指令使用的受限sequences。

5、方法:通过传递的参数进行计算,以新对象返回结果

方法变量通常是基于给出的参数计算值在数据模型中定义。

6、用户自定义FTL指令:宏和变换器

7、节点

节点变量表示为树型结构中的一个节点,通常在XML处理中使用。

模板:

使用FTL(freeMarker模板语言)编写

组成部分

一、整体结构

1、注释:,不会输出。

2、文本:直接输出。

3、interpolation:由 ${var} 或 #{var} 限定,由计算值代替输出。

4、FTL标记

二、指令:

freemarker指令有两种:

1、预定义指令:引用方式为

2、用户定义指令:引用方式为,引用用户定义指令时须将#换为@。

注意:如果使用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息。

freemarker

指令由FTL标记来引用,FTL标记和HTML标记类似,名字前加#来加以区分。如HTML标记的形式为

FTL标记的形式是#list>(此处h1标记和list指令没有任何功能上的对应关系,只是做为说明使用一

下)。

有三种FTL标记:

1)、开始标记:

2)、结束标记:#指令名称>

3)、空标记:

注意:

1) FTL会忽略标记之中的空格,但是,

2) FTL标记不能够交叉,必须合理嵌套。每个开始标记对应一个结束标记,层层嵌套。 如:

${数据}

game over!

#if>

#list>

注意事项:

1)、FTL对大小写敏感。所以使用的标记及interpolation要注意大小写。name与NAME就是不同的对象。是正确的标记,而则不是。

2)、interpolation只能在文本部分使用,不能位于FTL标记内。如是错误的,正确的方法是:,而且此处var必须为布尔值。

3)、FTL标记不能位于另一个FTL标记内部,注释例外。注释可以位于标记及interpolation内部。

三、表达式

1、直接指定值:

1-1、字符串:

由双引号或单引号括起来的字符串,其中的特殊字符(如‘ " \等)需要转义。

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值