文档详情

freemarker 使用详解.docx

发布:2017-08-10约1.23万字共18页下载文档
文本预览下载声明
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
显示全部
相似文档