欢迎来到天天文库
浏览记录
ID:22928706
大小:162.50 KB
页数:38页
时间:2018-11-02
《freemarker在struts中的应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、作成者Hathor时间2006.11.6Freemarker详解A概念最常用的概念1、scalars:存储单值字符串:简单文本由单或双引号括起来。数字:直接使用数值。日期:通常从数据模型获得布尔值:true或false,通常在<#if…>标记中使用2、hashes:充当其它对象的容器,每个都关联一个唯一的查询名字具有一个唯一的查询名字和他包含的每个变量相关联。3、sequences:充当其它对象的容器,按次序访问使用数字和他包含的每个变量相关联。索引值从0开始。4、集合变量:除了无法访问它的大小和不
2、能使用索引来获得它的子变量:集合可以看作只能由<#list...>指令使用的受限sequences。5、方法:通过传递的参数进行计算,以新对象返回结果方法变量通常是基于给出的参数计算值在数据模型中定义。6、用户自定义FTL指令:宏和变换器7、节点节点变量表示为树型结构中的一个节点,通常在XML处理中使用。在模板里对sequences和hashes初始化sequences1.[“you”,”me”,”he”]2.1..1003.[{“Akey”:”Avalue”},{“Akey1”:”Avalue1”
3、},{“Bkey”:”Bvalue”},{“Bkey1”:”Bvalue1”},]hashes{“you”:”a”,”me”:”b”,”he”:”c”}注释标志<#--这里是注释-->旧版本的freemarker采用的是<#comment>注释#comment>方法sequences内置方法sequence?first返回sequence的第一个值;前提条件sequence不能是nullsequence?last返回sequence最后一个值sequence?reverse反转sequence的
4、值sequence?size返回sequence的大小sequence?sort对sequence按里面的对象toString()的结果进行排序sequence?sort_by(value)对sequence按里面的对象的属性value进行排序如:sequence里面放入的是10个user对象,user对象里面包含name,age等属性sequence?sort_by(name)表示所有的user按user.name进行排序hashes内置方法hash?keys返回hash里的所有keys,返回结果
5、类型sequencehash?values返回hash里的所有value,返回结果类型sequence模板使用FTL(freeMarker模板语言)编写组成部分一、整体结构1、注释:<#--注释内容-->,不会输出。2、文本:直接输出。3、interpolation:由${var}或#{var}限定,由计算值代替输出。4、FTL标记二.表达式1、直接指定值:1-1、字符串:由双引号或单引号括起来的字符串,其中的特殊字符(如'"等)需要转义。1-2、raw字符串:有一种特殊的字符串称为raw字符串,
6、被认为是纯文本,其中的和{等不具有特殊含义,该类字符串在引号前面加r,下面是一个例子:${r"/${data}"year""}屏幕输出结果为:/${data}"year"转义 含义序列 " 双引号(u0022) ' 单引号(u0027) \ 反斜杠(u005C) 换行(u000A) r Return(u000D) t Tab(u0009) b Backspace(u0008) f Formfeed(u000C) l < g > a & { { xCode 4位
7、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],但是更有效
8、率,可以定义反递增范围如:5..2。1-6、散列(hash)1)、由逗号分隔的键/值列表,由{}大括号限定,键和值之间用冒号分隔,如:{"key1":valu1,"key2":"characterstring"....}2)、键和值都是表达式,但是键必须是字符串。2、获取变量:2-1、顶层变量:${变量名}变量名只能是字母、数字、下划线、$、#、@的组合,且不能以数字开头。2-2、散列:有两种方法1)、点语法:变量名字和顶层变量的名字受同样的限制2)、方括号语法:变量
此文档下载收益归作者所有