freemarker 使用详解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
freemarker 使用详解

1.常用标签/1.常用命令:1.1 注释#-- ... --格式部分,不会输出1.2 if 指令这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下:#if condition...#elseif condition...#elseif condition...#else .../#if例子如下:#assign age=23#if (age60)老年人#elseif (age40)中年人#elseif (age20)青年人#else 少年人/#if输出结果是:青年人上面的代码中的逻辑表达式用括号括起来主要是因为里面有符号,由于FreeMarker会将符号当成标签的结束字符,可能导致程序出错,为了避免这种情况,我们应该在凡是出现这些符号的地方都使用括号.1.3 switch , case , default , break指令这些指令显然是分支指令,作用类似于Java的switch语句,switch指令的语法结构如下:#switch value#case refValue...#break#case refValue...#break#default.../#switch1.4 list, break指令list指令是一个迭代输出指令,用于迭代输出数据模型中的集合,list指令的语法格式如下:#list sequence as item.../#list上面的语法格式中,sequence就是一个集合对象,也可以是一个表达式,但该表达式将返回一个集合对象,而item是一个任意的名字,就是被迭代输出的集合元素.此外,迭代集合对象时,还包含两个特殊的循环变量:item_index:当前变量的索引值item_has_next:是否存在下一个对象也可以使用#break指令跳出迭代例子如下:#list [星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期天] as x${x_index + 1}.${x}#if x_has_next,/if#if x=星期四#break/#if/#list1.5 include指令include指令的作用类似于JSP的包含指令,用于包含指定页.include指令的语法格式如下:#include filename [options]在上面的语法格式中,两个参数的解释如下:filename:该参数指定被包含的模板文件options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,其中encoding指定包含页面时所用的解码集,而parse指定被包含文件是否作为FTL文件来解析,如果省略了parse选项值,则该选项默认是true.1.6 import指令该指令用于导入FreeMarker模板中的所有变量,并将该变量放置在指定的Map对象中,import指令的语法格式如下:#import /lib/common.ftl as com上面的代码将导入/lib/common.ftl模板文件中的所有变量,交将这些变量放置在一个名为com的Map对象中.1.7 noparse指令noparse指令指定FreeMarker不处理该指定里包含的内容,该指令的语法格式如下:#noparse.../#noparse看如下的例子:#noparse#list books as book?? trtd${}td作者:${book.author}/#list/#noparse输出如下:#list books as book?? trtd${}td作者:${book.author}/#list1.8 escape , noescape指令escape指令导致body区的插值都会被自动加上escape表达式,但不会影响字符串内的插值,只会影响到body内出现的插值,使用escape指令的语法格式如下:#escape identifier as expression...#noescape.../#noescape/#escape看如下的代码:#escape x as x?htmlFirst name:${firstName}Last name:${lastName}Maiden name:${maidenName}/#escape上面的代码等同于:First name:${firstName?html}Last name:${lastName?html}Maiden name:${maidenName?html}escape指令在解析模板时起作用而不是在运行时起作用,除此之外,escape指令也嵌套使用,子escape继承父escape的规则,如下例子:#escape x as x?htmlCustomer Name:${customerName}Items

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档