欢迎来到天天文库
浏览记录
ID:40489112
大小:22.37 KB
页数:7页
时间:2019-08-03
《FreeMaker 常用 语法 总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、FreemarkerNote1.基本知识点1.1注视注释标志<#--这里是注释-->1.2数字:直接输入,不需要引号1)、精度数字使用“.”分隔,不能使用分组符号2)、目前版本不支持科学计数法,所以“1E3”是错误的3)、不能省略小数点前面的0,所以“.5”是错误的4)、数字8、+8、08和8.00都是相同的1.3布尔值true和false,不使用引号1.4变量获取变量:${变量名}变量名只能字母、数字、下划线、$、#、@的组合,且不能以数字开头。<#assignvar=value>定义变量并初始化<#localvar=value>在macro或者function中定义局部变量并初始化<#gl
2、obalvar=value>定义全局变量并初始化${var}输出并替换为表达式的值。变量表达式在指令中的使用情况:变量表达式可以在指令中,用“”的方式存在,不如:<#include"/footer/${company}.html">.但是不允许下面的方式存在:<#if${isBig}>Wow!#if>, 正确写法是:<#ifisBig>Wow!#if>.而且<#if"${isBig}">Wow!#if>写法也不正确,因为"${isBig}"返回的是字符串,不是boolean类型。1.5判断对象是不是null<#ifmouse?exists>Mousefound<#else>也可以直
3、接${mouse?if_exists})输出布尔形1.6控制语句:<#ifcondition><#elseifcondition><#else>#if>条件判断1.7导入<#include"inc">inc为另一个flt文件,在同一级目录下。1.8循环<#listhash_or_seqasvar>#list>遍历hash表或者collection(freemaker称作sequence)的成员。序列构成:<#list["winter","spring","summer","autumn"]asx>${x}#list>举例:<#listbookedSortResultDTO.book
4、edSortDTOListasb><#ifb_index<3>${b.restaurantName?if_exists}${b.bookedNum?if_exists}单#if><#ifb_index<10&&3<=b_index>${b.restaurantName?if_exists}#if>#list>其中bookedSortResultDTO是个对象,boo
5、kedSortDTOList是其中一个对象,对象名字取b。下一个例子<#if(i.star?number<=0)><#list0..4asnum>☆<#t>#list><#elseif(i.star?number<=19)&&(i.star>=1)>★<#list1..4asnum>☆<#t>#list><#elseif(i.star?number>=80)><#list0..4asnum>★#list>#if>1.字符串操作2.1获取拼接使用${}或#{}在文本部分插入表达
6、式的值,例如:${"hello${username}!"}${"${username}${username}${username}"}也可以使用+来获得同样的结果:${"hello"+username+"!"}${username+username+username}注意:${}只能用于文本部分而不能出现于标记内。<#if${user.login}>或<#if"${user.login}">都是错误的;<#ifuser.login>是正确的。本例中user.login的值必须是布尔类型。子串:假如user的值为"BigJoe"${user[0]}${user[4]}结果是:BJ${user[1
7、..4]}结果是:igJ设置默认值${regionURLCode?default('shanghai')}2.2算术运算2.2.1操作符:+、-、*、/、%除+号以外的其他操作符两边的数据,必须都是数字类型。如果+号操作符一边有一个字符型数据,会自动将另一边的数据转换为字符型数据,运算结果为字符型数据。比较操作符:1}、=2}、==3}、!=4}、<5}、<=6}、>7}、>=1-3的操作符,两边
此文档下载收益归作者所有