freemarker语法.doc_第1页
freemarker语法.doc_第2页
freemarker语法.doc_第3页
freemarker语法.doc_第4页
freemarker语法.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

By zhxing 1、if, else, elseif语法: . . . .备注:condition、condition2必须为boolean 类型,、可有0或多个。实例: x is 1 x is 2 x is 3 x is 4 x is not 1 nor 2 nor 3 nor 4 备注: 号 必须转义,否则出错。转义请参考其他文档。2、switch, case, default, break语法 . . . . .备注:该指令官方不推荐使用了,可以用if, else, elseif 指令代替。3、list, break语法 .备注: sequence 为一个sequence 或者 collection 类型。item 为 循环的变量。该指令中包含有两个特殊的循环变量,item_index:该值为当前循环的值。 item_has_next:该值为一个boolean类型,表明该循环是否含有下一个(是否为循环到了最后一个)实例: $x_index + 1. $x, 输出: 1. winter, 2. spring, 3. summer, 4. autumn 实例: $i 备注:当x 为一个数值序列时,可以使用该list 列出两个数值之间的值。(适合于表格的序号填写)实例: $x 备注:可以用 来终止该循环。4、include语法或者备注:path: 为包含一个文件的路径或者是一个输出为String 类型的表达式。 options: 一个或多个的参数: encoding=encoding, parse=parse encoding: 包含文件解析的编码,如GBK、utf-8等parse: 为一个boolean 类型值,true为用ftl解析,false为当作text文件解析 (also accepts a few string values for backward compatibility)实例:/common/copyright.ftl内容:Copyright 2001-2002 $meAll rights reserved. 主体内容: Some testYeah. 输出 Some testYeah.Copyright 2001-2002 Juila SmithAll rights reserved. 备注:path 可以包含*任意取值,例如:*/copyright.ftl、commons/*/copyright.ftl等,*表示任意路径下的。该指令具有国际化,如, 这个指令的搜索文件的顺序为footer_en_US.ftl,footer_en.ftl,footer.ftl (本地为英国)。5、import语法:备注:path:模板的路径名. hash: 在该文件中使用该模板指令的名称。实例:文件中的使用: 6、noparse语法: .备注:该指令包含的文件将不被解析成ftl,而是直接输出。实例:Example:- $$being.price Euros 输出: Example:- $$being.price Euros 7、compress语法: .备注:该指令将会把数据模型中的空格或者html格式去掉。实例:( 1 2 3 4 5 $moo test only I said, test only) 输出:(1 2 3 4 5mootest onlyI said, test only)8、escape, noescape语法: . . . 备注:该指令对$该指令进行了格式化的输出。备注: Customer Name: $customerName Items to ship: $itemCode1 $itemCode2 $itemCode3 $itemCode4 相当于:Customer Name: $customerName?html Items to ship: $itemCodeToNameMapitemCode1?html $itemCodeToNameMapitemCode2?html $itemCodeToNameMapitemCode3?html $itemCodeToNameMapitemCode4?html9、assign语法:ororor capture thisor capture this备注:该指令可以创建或者替换变量为页面使用,该变量为最高的层才能被创建或替换,如foo,当foo.bar时将不能被创建或者替换。name:变量的名称。value:变量的值。namespacehash:import指令中的引用名。实例: 实例: 实例:foo $n Number of words: $x?word_list?size$x 输出:Number of words: 6 1 foo 2 foo 3 foo10、global语法:oror capture this备注:该指令相似于assign 指令,只是该指令创建的变量可以被所有命名空间使用。实例: $x$.global.x输出:21备注:如果在当前命名空间中,有同名的变量存在,则global 变量将没隐藏,如需访问则:$.global.x 11、local语法:oror capture this备注:该指令类似 assign 指令,但它创建或者替换了本例变量,它只能在macro定义或者function 定义中有效。12、setting语法:备注:该指令的设置将影响到该指令设置的地方以下的内容有效。它提供的设值有:local:该值为本地的语言,将影响数值、时间等的格式。取值例如:en, en_US, en_US_MACnumber_format:用于将数值转换成String,当没有明确的格式被指定时。boolean_format:用于将boolean转换成Stringdate_format,time_format,datetime_format:用于将时间转换成Stringtime_zone:用于设置时区,如GMT, GMT+2, GMT-1:30, CET, PST, America/Los_Angelesurl_escaping_charset:classic_compatible:实例:$1.2$1.2 输出:1,21.2 13、User-defined directive ()语法:(Note the XML-style / before the ) or if you need loop variables Or the same as the above two but with end-tag .or .Or all above but with positional parameter passing .etc.备注:该指令为调用用户自定义的指令,比如macro实例:. $title?cap_first: $x?cap_first 输出: Animals: Mouse Elephant Python . 实例: $x. Something. This was the last! 14、macro, nested, return语法: . . .备注:该指令保存着模板的部分定义,可以用用户指令来调用该指令使用。该指令可以定义在任何地方,不管设定的地方之前或者之后都能使用。也可以指定默认参数的默认值。实例: Test text, and the params: $foo, $bar, $baaz 输出: Test text, and the params: a, b, 23 Test text, and the params: a, b, -1 Test text, and the params: a, Bar, 23 Test text, and the params: a, Bar, -1实例: img src=/context$src?html $attr=$extraattr?html 输出: 实例: $x Anything. 输出: 1 Anything. 2 Anything. 3 Anything.实例: Test text Will not be printed. 输出:Test text15、function, return语法: . .备注:该指令创建了一个方法变量,该指令和macro指令类似,只是return 中必须有返回值。实例: $avg(10, 20) 输出:15实例: $avg(10, 20)$avg(10, 20, 30, 40)$avg()!N/A 输出:1525N/A16、flush语法:备注:强制输出。虽然FreeMarker会自动的flush 但有些时候要强制flash 的时候可以使用该指令。17、stop语法:or备注:当FreeMarker要强制终止的时候,可以使用该指令,reason 为自定义终止的原因。18、ftl语法:备注:该指令是提供一些参数如果该文件是ftl文件,如果该文件存在则该设置在文件的最开始的地方。设置的参数有:encoding:模板的编码,取值为:utf-8、GBK等strip_whitespace:是否去掉空格。取值为true、falsestrip_text:是否去掉最高层的文本,取值为true、falsestrict_syntax:是否为严格的语法,取值为true、falsens_prefixes:attributes:19、t, lt, rt语法 -在该行中忽略所有的空格 -在该行中忽略左边的所有空格 -在该行中忽略右边的所有空格 -不去掉该行的空格实例:- 1 2 3 4 5 6- 输出:-1 23 4 5 6- 20、attempt, recover语法: attempt block recover block备注:该指令是一个错误的捕获,和java 中的 trycatch 相似。是修复指令,代替出错的输出文本。实例:Primary content Optional content: $thisMayFails Ops! The optional content is not available.Primary content continued 输出:如果thisMayFails 变量不存在Primary content Ops! The optional content is not available.Primary content continued 如果thisMayFails 变量存在Primary content Optional content: 123Primary content continued21、visit, recurse, fallback语法:orororor备注:visit 和recurse 指令是用来递归处理树节点的。在实际中,很多情况下是用来处理xml。实例:Done. Now Im handling a node that has the name x. Just to show how to access th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论