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

原文地址:https://www.cnblogs.com/jincheng81/p/9105172.html

时间: 2024-10-31 10:12:55

freemarker指令介绍的相关文章

FreeMarker标签介绍

FreeMarker标签使用 一.FreeMarker模板文件主要有4个部分组成  1.文本,直接输出的部分  2.注释,即<#--...-->格式不会输出  3.插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出  4.FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出.    FTL指令规则    FreeMarker有三种FTL标签,这和HTML的标签是完全类似的     开始标签:<#dir

freemarker语法介绍及其入门

FreeMarker标签使用  一.FreeMarker模板文件主要有4个部分组成   1.文本,直接输出的部分   2.注释,即<#--...-->格式不会输出   3.插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出   4.FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出.      FTL指令规则     FreeMarker有三种FTL标签,这和HTML的标签是完全类似的      开始标签

AT&amp;T汇编指令介绍

linux中使用的AT&T格式的汇编指令,所以总结一下一些比较重要的指令. 1.寻址模式 有多种不同的寻址模式,允许不同形式的存储器引用.我们用符号Ea表示任意寄存器,R[Ea]表示它的值.M[addr]表示addr处地址的值. 题目: 答案:0x100,0xAB,0x108,0xFF,0x11,0x12,0xFF,0x11. 2.leal指令 加载有效地址指令其实是movl指令的变形.它的指令式是从存储器读数据到寄存器,但实际上它根本没有引用存储器.它的第一个操作数看上去是一个存储器引用,但该

C#中的预编译指令介绍

原文:C#中的预编译指令介绍 1.#define和#undef 用法: #define DEBUG #undef DEBUG #define告诉编译器,我定义了一个DEBUG的一个符号,他类似一个变量,但是它没有具体的值,可以将它看为一个符号而已.#undef就是删除这个符号的定义.如果符号DEBUG没定义过,则#undef不起作用,否则#define不起作用.二者都必须放在源代码之前.二者的顺序看代码的顺序: #define DEBUG #undef  DEBUG 这样的话,DEBUG是没有定

AngularJs的常用的指令介绍

Angular Js的常用指令介绍 1.内置指令(前缀为“ng”): a. Ng-app: 标记和指定了AngularJs脚本作用域: b. Ng-model: 设置表单的具体的控件与当前作用域的属性的值的绑定: 如:<input type="text" ng-model="userName" /><br /> <span>Hello {{userName}}!</span> c. Ng-init: 初始化指定内部作用

FreeMarker 的常用指令介绍

一.数据类型: 四种基本类型:String.Number.Boolean.Date.直接指定值可以是字符串.数值.布尔值.集合及Map对象 1. 字符串 直接指定字符串值使用单引号或双引号限定.字符串中可以使用转义字符"\".如果字符串内有大量的特殊字符,则可以在引号的前面加上一个字母r,则字符串内的所有字符都将直接输出. 2. 数值 数值可以直接输入,不需要引号.FreeMarker不支持科学计数法. 3. 布尔值 直接使用true或false,不使用引号. 4. 集合 集合用中括号

angular中重要指令介绍($eval,$parse和$compile)

在angular的服务中,有一些服务你不得不去了解,因为他可以说是ng的核心,而今天,我要介绍的就是ng的两个核心服务,$parse和$compile.其实这两个服务讲的人已经很多了,但是100个读者就有100个哈姆雷特,我在这里讲讲自己对于他们两个服务的理解. 大家可能会疑问,$eval呢,其实他并不是一个服务,他是scope里面的一个方法,并不能算服务,而且它也基于parse的,所以只能算是$parse的另一种写法而已,我们看一下ng源码中$eval的定义是怎样的就知道了 $eval: fu

FreeMarker详细介绍和使用(详细教程)

 FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html><br> < h

FreeMarker初探--介绍

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等. 最简单的模板是普通 HTML 文件(或者是其他任何文本文件—FreeMarker 本身不属于HTML) .当客户端访问页面时,FreeMarker 要发送 HTML 代码至客户端浏览器端显示.如果想要页面动起来,就要在 HTML 中放置能被 F