zoukankan      html  css  js  c++  java
  • freemarker指令介绍

    FreeMarker 的常用指令
         1、if指令
            分支控制语句
            语法格式如下
           <#if condition>
                ....
           <#elseif condition2>
              ...
           <#elseif condition3>      
              ...
           <#else>
              ...
           </#if>
         
         2、switch、case、default、break指令
            <#switch value>
               <#case refValue>
                  ...
                  <#break>
               <#case refValue>
                  ...
                  <#break>
               <#default>
                  ...
            </#switch>
            虽然FreeMarker提供了switch指令,但它并不推荐使用switch指令来控制也输出,而是推荐使用FreeMarker的if..elseif..else 指令来替代它。
            
        3、list、break指令
        list指令时一个典型的迭代输出指令,用于迭代输出数据模型中的集合。list指令的语法格式如下:
         <#list sequence as item>
           ...
         </#list>
          除此之外,迭代集合对象时,还包括两个特殊的循环变量:
          a、item_index:当前变量的索引值。
          b、item_has_next:是否存在下一个对象
          也可以使用<#break>指令跳出迭代
          <#list ["星期一","星期二","星期三","星期四","星期五"] as x>
              ${x_index +1}.${x} <#if x_has_next>,</#if>
              <#if x = "星期四"><#break></#if>
          </#list>
          
          4、include 指令
            include指令的作用类似于JSP的包含指令,用于包含指定页,include指令的语法格式如下
             <#include filename [options]
              在上面的语法格式中,两个参数的解释如下
              a、filename:该参数指定被包含的模板文件
              b、options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,encoding指定包含页面时所使用的解码集,而parse指定被
                 包含是否作为FTL文件来解析。如果省略了parse选项值,则该选项值默认是true
         5、 import指令
            该指令用于导入FreeMarker模板中的所有变量,并将该变量放置在指定的Map对象中,import 指令的语法格式如下
            <#import path as mapObject>
            在上面的语法格式中,path指定要被导入的模板文件,而mapObject是一个Map对象名,通过这行代码,将导致path模板中的所有变量都被放置
            在mapObject中
            <#import "/lib/common.ftl" as com>
         
         6、noparse指令
             noparse指令指定FreeMarker不处理该指令里包含的内容,该指令的语法格式如下:
             <#noparse>
                ...
             </#noparse>
             
         7、escape、noescape指令
           
           
         8、assign指令
            它用于为该模板页面创建或替换一个顶层变量
            
         9、setting指令
            该指令用于设置FreeMarker的运行环境,该指令的语法格式如下:
            <#setting name = value>
            name 的取值范围包括如下几个
             locale :该选项指定该模板所用的国家/语言选项
             number_format:该选项指定格式化输出数字的格式
             boolean_format:该选项指定两个布尔值的语法格式,默认值是"true、false"
             date_format,time_format,datetime_format:该选项指定格式化输出日期的格式
             time_zone:  设置格式化输出日期时所使用的时区

    10、宏marco的使用

    宏是一个模板片段与变量相关联。你可以使用定义的指令,可以帮助你多次使用

    eg:

    <#macro users name>

      用户:${name}

    </#macro>

    <@users name='zhangsan'></@users>

    <@users name='lisi'></@users>

    页面上会输出zhangsan lisi

  • 相关阅读:
    WebBrowser,挖坑,跳坑,填坑
    Random类取随机数小测试
    request.path 值危险
    文件上传
    gitbook serve后报错::Error: ENOENT: no such file or directory……/_book/gitbook/gitbook
    iOS 报错 Undefined symbol: _BZ2_bzDecompressEnd
    iOS operator delete(void*) 和 operator new(unsigned long)的报错解决办法
    [!] CDN: trunk Repo update failed
    iphone手机系统回退、降级
    iphone手机型号获取
  • 原文地址:https://www.cnblogs.com/jincheng81/p/9105172.html
Copyright © 2011-2022 走看看