




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FreeMarker语法1 一、常用语法 2 1、输出 $ 3 2、空值判断:$?if_exists , 4 $?default(xxx)/默认值 有值则输出,没值默认为xxx5 $ !xxx/默认值xxx 6 3、Date日期格式:$book.date?string(yyyy-MM-dd)7 String的 日期格式:$book.date?date(yyyy-mm-dd) 8 String的 时间格式:$book.date?time(hh-mm-ss) 9 4、数字格式:$book?string.number-20 10 $book?string.currency- 11 $book?string.percent 12 5、插入布尔值: 13 /定义一个变量14 $foo?string(yes,no) 15 16 二、内置方法 17 1、数字型 18 19 $answer 20 $answer?string 21 $answer?string.number 22 $answer?string.currency 23 $answer?string.percent 24 25 26 $12345?string(0.#E0) 27 $answer?string(number) 等同于:$answer?string.number 28 2、日期型: 29 预定义格式包括:short ,middle和long。 30 $openingTime?string.short 31 $openingTime?string.medium 32 $openingTime?string.long 33 组合使用:$lastUpdated?string.short_long 34 $lastUpdated?string(yyyy-MM-dd HH:mm:ss zzzz) 35 3、逻辑型 36 foo?string 37 foo?string(yes, no) 38 4、序列的内置方法: 39 first 40 last 41 seq_contains 42 $x?seq_contains(blue)?string(yes, no) 43 seq_index_of 44 seq_last_index_of 45 reverse 46 size 47 sort 48 sort_by 49 多层次的hash排序 50 53 Sorted by name.last: 54 55 - $.last, $.first: $m.age years old 56 57 58 chunk:将一个序列分解成几个序列。 59 60 61 $cell 62 63 64 $cell 65 66 chunk经常用于分栏或者表格输出的格式。 67 5、hash内置方法: 68 keys: 69 values: 70 三、序列 71 由逗号分隔的变量列表,由方括号限定,类似java中的一维数组 72 73 74 $x_index + 1. $x 75 76 77 78 输出 79 1. winter, 80 2. spring, 81 3. summer, 82 4. autumn 83 84 四、Hashes(散列) 85 由逗号分隔的键-值列表,由大括号限定,键和值之间用冒号分隔: name:green mouse, price:150,键和值都是表达式,但是键必须是字符串。 86 87 Joe is $.ages.Joe 88 Fred is $.ages.Fred 89 Julia is $.ages.Julia 90 结果: 91 Joe is 30 92 Fred is 25 93 Julia is 18 94 五、freemarker的空值和默认值 95 $user?if_exists 96 $user?default(your name) 97 判断对象是不是null 98 99 Mouse found 100 101 102 或 103 Mouse found 104 105 list 空值判断 106 107 六、算术运算 108 比较操作符. 109 1.)使用=(或=,完全相等)测试两个值是否相等,使用!= 测试两个值是否不相等 110 2.)=和!=两边必须是相同类型的值,否则会产生错误,例如会引起错误 111 3.)Freemarker是精确比较,所以x、x 和X是不相等的 112 4.)对数字和日期可以使用、和=,但不能用于字符串 113 5.)由于Freemarker会将解释成FTL标记的结束字符,所以对于和=可以使用括号来避免这种情况,例如 y),另一种替代的方法是,使用lt、lte、gt和gte来替代、和= 114 115 逻辑操作符&(and)、|(or)、!(not),只能用于布尔值,否则会产生错误 116 #if x 117 We have less than 12 things, and they are green. 118 119 120 Its not hot. 121 122 123 内置函数用法类似访问hash(散列)的子变量,只是使用?替代.,例如:user?upper_case 124 下面列出常用的一些函数: 125 对于字符串 126 html对字符串进行HTML编码 127 cap_first使字符串第一个字母大写 128 lower_case将字符串转换成小写 129 trim去掉字符串前后的空白字符 130 对于Sequences(序列) 131 size获得序列中元素的数目 132 对于数字 133 int取得数字的整数部分(如-1.9?int的结果是-1) 134 135 例一: 136 137 138 $.test?html 139 $.test?upper_case?html 140 结果: 141 Tom & Jerry 142 TOM & JERRY 143 144 例二: 145 146 147 $.seasons?size 148 $.seasons1?cap_first 149 $.horse?cap_first 150 结果: 151 4 152 Spring 153 Horse 154 155 方法的调用 156 $.repeat(What, 3) 157 $.repeat(repeat(x, 2), 3) + repeat(What, 4)?upper_case 158 结果: 159 WhatWhatWhat 160 xxxxxxWHATWHATWHATWHAT 161 162 操作符优先顺序 163 后缀 subvarName subStringRange . (methodParams) 164 一元 +expr、-expr、! 165 内建 ? 166 乘法 *、 / 、% 167 加法 +、- 168 关系 、=(lt、lte、gt、gte) 169 相等 =、!= 170 逻辑 & 171 逻辑 | 172 数字范围 . 173 174 三.) Interpolation:由$.或#.两种类型,输出计算值,可以定义输出的格式 175 例一: 176 177 178 179 $.answer 180 $.answer?string 181 $.answer?string.number 182 $.answer?string.currency 183 $.answer?string.percent 184 结果: 185 $42.00 186 $42.00 187 42 188 $42.00 189 4,200% 190 191 例二: 192 193 $.lastUpdated?string(yyyy-MM-dd HH:mm:ss zzzz) 194 $.lastUpdated?string(EEE, MMM d, yy) 195 $.lastUpdated?string(EEEE, MMMM dd, yyyy, hh:mm:ss a (zzz) 196 结果: 197 2003-04-08 21:24:44 Pacific Daylight Time 198 Tue, Apr 8, 03 199 Tuesday, April 08, 2003, 09:24:44 PM (PDT) 200 201 例三: 202 203 204 $.foo?string(yes, no) 205 结果: 206 yes 207 208 例四: 209 210 211 #.x; M2 212 #.y; M2 213 #.x; m1 214 #.y; m1 215 #.x; m1M2 216 #.y; m1M2 217 说明:mX小数部分最小X位;MX小数部分最大X位。 218 219 四.) 注释: 220 221 下面是一个常用的模板例子: 222 223 We have these animals: 224 225 NamePrice 226 227 228 229 230 $. 231 232 $.being.price Euros 233 234 235 236 注意点: 237 1.) FreeMarker是区分大小写的; 238 2.) FTL标记不能位于另一个FTL标记内部,例如:#if =bar.; 239 3.) $.只能在文本中使用; 240 4.) 多余的空白字符会在模板输出时去除; 241 5.) 如果使用的指令不存在,会产生一个错误消息。 242 243 $.x * x - 100 244 $.x / 2 245 $.12 % 10 246 结果: 247
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院出租合同协议书
- 医院医生劳务协议书
- 合同生效赔偿协议书
- 单独车架购买协议书
- 公司购车内部协议书
- 2025年工业互联网平台雾计算协同机制与工业安全防护分析报告
- 项目管理中的解决方案试题及答案
- 行政管理经济法应用试题及答案探讨
- 2025年会计实务能力提升试题及答案
- 2025年即时配送行业订单增长分析:配送网络优化与效率提升报告
- 山东省烟台市牟平区(五四制)2023-2024学年九年级下学期期中考试数学试题
- 2024年咸阳职业技术学院单招职业技能测试题库及答案解析
- 2020年10月自考00445中外教育管理史试题及答案含解析
- 《重选的基本原理》课件
- 云系统安全运维
- 【基于SERVQUAL模型的京东生鲜电商物流服务质量评价的实例探析8100字(论文)】
- 实验二-导弹自寻的制导律设计与仿真
- 关于校本课程及校本教材开发与认定的管理办法
- 五年级数学竞赛试题原创
- 教师听课评价记录表
- 十字头夹具设计说明书
评论
0/150
提交评论