- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
freemark开发指南详解
A概念
最常用的概念
1、?scalars:存储单值字符串:简单文本由单或双引号括起来。数字:直接使用数值。日期:通常从数据模型获得布尔值:true或false,通常在#if …标记中使用?
2、?hashes:充当其它对象的容器,每个都关联一个唯一的查询名字具有一个唯一的查询名字和他包含的每个变量相关联。?
3、?sequences:充当其它对象的容器,按次序访问使用数字和他包含的每个变量相关联。索引值从0开始。?
4、?集合变量:除了无法访问它的大小和不能使用索引来获得它的子变量:集合可以看作只能由#list...指令使用的受限sequences。?
5、?方法:通过传递的参数进行计算,以新对象返回结果方法变量通常是基于给出的参数计算值在数据模型中定义。?
6、?用户自定义FTL指令:宏和变换器?
7、?节点节点变量表示为树型结构中的一个节点,通常在XML处理中使用。?
在模板里对sequences和hashes初始化
sequences?
? ? 1.?[“you”,”me”,”he”] 2.?1..100 3.?[ {“Akey”:”Avalue”},{“Akey1”:”Avalue1”}, {“Bkey”:”Bvalue”},{“Bkey1”:”Bvalue1”}, ] ? ? hashes????? {“you”:”a”,”me”:”b”,”he”:”c”} ? ?
注释标志
#--?
这里是注释
--
旧版本的freemarker采用的是#comment 注释 /#comment方法?
sequences内置方法
sequence?first
返回sequence的第一个值;前提条件sequence不能是null
sequence?last
?????? 返回sequence最后一个值
sequence?reverse
?????? 反转sequence的值
sequence?size
?????? 返回sequence的大小
sequence?sort
?????? 对sequence按里面的对象toString()的结果进行排序
sequence?sort_by(value)
对sequence 按里面的对象的属性value进行排序
如: sequence里面放入的是10 个user对象,user对象里面包含name,age等属性
sequence?sort_by(name) 表示所有的user按进行排序
hashes内置方法
hash?keys
?????? 返回hash里的所有keys, 返回结果类型sequence
hash?values
?????? 返回hash里的所有value, 返回结果类型sequence
??
模板
使用FTL(freeMarker模板语言)编写组成部分一、整体结构1、注释:#--注释内容--,不会输出。2、文本:直接输出。3、interpolation:由 ${var} 或 #{var} 限定,由计算值代替输出。4、FTL标记二.表达式1、直接指定值:1-1、字符串:由双引号或单引号括起来的字符串,其中的特殊字符(如 \等)需要转义。1-2、raw字符串:有一种特殊的字符串称为raw字符串,被认为是纯文本,其中的\和{等不具有特殊含义,该类字符串在引号前面加r,下面是一个例子:${r/${data}year}屏幕输出结果为:/${data}year转义??? 含义序列? ??\? 双引号(u0022) ?\? 单引号(u0027) ?\\? 反斜杠(u005C) ?\n? 换行(u000A) ?\r? Return (u000D) ?\t? Tab (u0009) ?\b? Backspace (u0008) ?\f? Form feed (u000C) ?\l? ?\g? ?\a? ?\{? { ?\xCode? 4位16进制Unicode代码 ?1-3、数字:直接输入,不需要引号1)、精度数字使用“.”分隔,不能使用分组符号 2)、目前版本不支持科学计数法,所以“1E3”是错误的 3)、不能省略小数点前面的0,所以“.5”是错误的 4)、数字8、+8、08和8.00都是相同的 1-4、布尔值:true和false,不使用引号1-5、序列:由逗号分隔的子变量列表,由[]方括号限定。1)、子变量列表可以是表达式2)、可以使用数字范围定义数字序列,不需要方括号限定,例如2..5等同于[2, 3, 4, 5],但是更有效率,可以定义反递增范围如:5..2。1-6、散列(hash)1)、由逗号分隔的键/值列表,由{}大
文档评论(0)