freemaker开发教程

freemaker开发教程

ID:35967181

大小:87.95 KB

页数:6页

时间:2019-04-29

freemaker开发教程_第1页
freemaker开发教程_第2页
freemaker开发教程_第3页
freemaker开发教程_第4页
freemaker开发教程_第5页
资源描述:

《freemaker开发教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、FreeMaker简介FreeMaker其实是一种比较简单的网页展示技术,说白了就是网页模板和数据模型的结合体。这种结合模式的好处就是,分离了网页界面设计人员和编程人员的工作,让他们各司其职。据个人理解,FreeMaker大致的工作方式是,网页模板里面嵌入了数据模型中的数据、FreeMake自定义流程控制语言、FreeMake自定义的操作函数等等,在装载网页的时候,自动从数据模型中提取数据,并解释整个网页为我们熟知的HTML页面。FreeMaker模板数据模型(TheDataModel)首先看看下面的两个例子(注:这里只是用示意图的形式来展示数据模型的概念,此处的图片并不代表源码中的一

2、个文本性质的文件):这种结构有点类似于目录树结构,其中,String如"mouse"or'mouse'表示String类型。同理,性质的属性值我们都用双引号或单引号围起来,Number数字则不需要任何引号,如字符"50"和50分别是两种不同性质的节点。在这里,有以下几个FreeMaker术语需要了解:●hashes:处于“目录”位置的节点。如左图中的root,animals,mouse,elephant,python,whatnot;●scalars:叶子节点,即处于“文件”位置的节点。如左图中的size,price,test,because,如果你要访问price节点,我们可以通过如下

3、的方式在HTML代码中嵌入${animals.mouse.price},scalars可以有多种类型的值。●sequences:类似于hashes,但是它不用名字来命名子节点,而是把该子节点写作为一个数字序列,相关的scalars置于这些数字序列下。如右图中的animals和whatnot.fruits,如果你要访问第一个动物的name,那么可以写为${animals[0].name};访问第2个水果,则写为${whatnot.fruits[1]}。网页模板(Template)我们在简介中已经初步介绍了一下网页模板的概念。网页模板事实上就是一个静态的HTML文件,里面包含了以下几种元素:●

4、Interpolation:具体的格式为${expression},在数据模型中,我们已经提到了这个特殊的符号,主要还是用来容纳模板中节点内容的。此外,也可以采用#{expression}或#{expression;format}来展示数字(如#{x;m1M3}表示x小数部分最小长度为1最大长度为3,多出部分四舍五入)。●FTLtags(FreeMarkerTemplateLanguagetags):简单的说,就是FreeMaker的子定义流程控制语言和操作函数,他们均以HTMLtag的形式存在,只不过采用了#和@的标志符来区别于普通的HTML标记。FTLtags不能互相嵌套,如<#if<

5、#include'foo'>='bar'>...是一个错误的用法。FreeMaker默认使用尖括号来涵盖FTLtags的内容,但是系统也可以统一使用方括号来修饰FTLtags,两者不能同时混用(注:每一个网页Template可以在最开始处使用<#ftl>或[#ftl]来标示整个模板的基本配置,因此后文中的所有的tags的括号都应该和ftl的一致,不一致的FTLtags一律视为普通的Text)。●注释(Comments):类似于HTML的注释,表示方式为<#--and-->(注意:不是),嵌入在里面的所有内容均不会被FreeMaker本身所解释。此外,Comments可以处于FTLtags和

6、Interpolation中间。除了以上三种之外,其他的网页代码都不会被FreeMaker本身所解释,而最终保留并直接呈现出来,FreeMaker称之为Text。表达式(Expressions)1.基础数据类型String:由前后引号括起来的字符串,如:"GreenMouse","Iam"tailsherry"!",r"C:rawstring",和其他的编程语言一样,FreeMaker的String类型也支持转义字符:转义字符详细描述"双引号(u0022)'单引号(u0027)\反斜杠(u005C)换行(u000A)r回车(u000D)tTAB键(

7、u0009)bf退格(u0008)Formfeed(u000C)l小于号:a&符号:&{大括号:{xCode16进制的Unicode(UCS)备注:●在转义符x之后,应该是1至4个十六进制的数值,如:"xA91999-2001","x0A91999-2001","x00A91999-2001"均表示内嵌一个CopyRight标志。如果x之后超出4个数值,那么FreeMa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。