if,else,elseif 指令 

<#if x==1>
 x is 1
</#if> <#if==1>
x is 1
<#else>
  x is not 1
</#if> <#if x==1>
  x is 1
<#elseif x==2>
x is 2
<#elseif x==3>
x is 3
</#if>

注意:  如何测试 x 比 1 大?<#if x > 1>是不对的,因为 FreeMarker 将会解释第一个>作 为结束标记。因此,编写<#if (x > 1)>或<#if x &gt; 1>是正确的

switch,case,default,break 指令

<#switch being.size>

  <#case "small">

    This will be processed if it is small

    <#break>

  <#case "medium">

    This will be  processed if it is medium

    <#break>

  <#case "large">

    This will be processed if it is large

    <#break>

  <#default>

      This will be processed if it is neither

</#switch>

在switch中间必须有一个或多个<#case value>,在所有case标签之后,有一个可选的<#default>.

<#list sequence as item>

...   //sequence:表达式将被算作序列或集合 item:循环变量(不是表达式)的名称

item_index:这是一个包含当前项在循环中的步进索引的数值

item_has_next:来辨别当前项是否是序列的最后一项的布尔值.

</#list>

例子:

<#assign seq=["winter","spring","summer","autumn"]>

<#list seq as x>

  ${x_index+1}.${x}<# if x_has_next>,</#if>

</#list>

将会打印:

1.winter,

2.spring,

3.summer,

4.autumn

<#global name=value>

  or

<#global name1=value1 name2=value2 ... nameN=valueN>

or

<#global name>

  capture this

</#global>

name:变量的名称. value:存储的值,是表达式.

global:该指令和assign相似,但是被创建的变量在所有的命名空间中都可见,但又不会存在于任何一个命名空间中,精确的说,正如你会创建一个数据模型变量,因此,这个变量时全局的,如果在数据模型中,一个相同名称的变量存在的话,它会被使用这个指令创建的变量隐藏,如果在当前命名空间中,一个相同名称的变量存在的话,那么会隐藏由global指令创建的变量.

<#setting name=value>

name:设置的名称,不是表达式

value:设置的值,是表达式

</#setting>

支持的设置有:

local:输出本地化(语言),它可以影响数字,日期等显示格式,值是有语言编码和可选的国家码组成的字符串,en,en_US,en_US_MAC

numbe_format:当没有指定确定的格式化形式时,用来转化数字到字符串形式的数字格式化设置

boolean_format:以逗号分割的一对字符串来分别展示true和false值,当没有指定确定的格式时,转换布尔值到字符串

...

看书学习是枯燥枯燥枯燥枯燥的

freemarker2 指令的更多相关文章

  1. iOS逆向工程之Hopper中的ARM指令

    虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学.现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少的实验,当时自我感觉ARM这门课学的还是 ...

  2. 步入angularjs directive(指令)--点击按钮加入loading状态

    今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...

  3. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  4. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  5. [Django]用户权限学习系列之User权限基本操作指令

    针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...

  6. 机器指令翻译成 JavaScript —— No.5 指令变化

    上一篇,我们通过内置解释器的方案,解决任意跳转的问题.同时,也提到另一个问题:如果指令发生变化,又该如何应对. 指令自改 如果指令加载到 RAM 中,那就和普通数据一样,也是可以随意修改的.然而,对应 ...

  7. ARM的栈指令

    ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...

  8. IL指令详细表

    名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...

  9. Angular学习-指令入门

    1.指令的定义 从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签.指令可以很简单,也可以很复杂.AngularJS的HTML编译器会解析指令,增强模板的功能.也是组件化未来的发展趋势, ...

随机推荐

  1. mybatis xml和dao扫描写法

    第一种:接口和xml不在同一个目录,需要在sqlSessionFactoryBean中额外 指定xml的路径: <!-- myBatis文件 --> <bean id="s ...

  2. 带有关闭按钮的alertView

    概述 由于讨厌系统自带的alertView只能通过点击按钮才能关闭.你说万一按钮区域都是功能性的操作呢(这可不是我胡思乱想哦,要怪就产品的想法吧,呵呵哒),所以我们还是应该备有一个带有“X”(关闭按钮 ...

  3. JavaScript异常处理

    http://www.yaosansi.com/post/747.html 异常处理概述      在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的逻辑或者语法错误, ...

  4. mybatis实战教程(mybatis in action)之四:实现关联数据的查询

    有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如最常见到的多对一,一对多等.这些查询是如何处理的呢,这一讲就讲这个问题.我们首先创建一个Article 这个表 ...

  5. Linux-软件包管理-yum在线管理-网络yum源

    cd /etc/yum.repos.d/  切换到etc目录下面的yum.repos.d这个目录中ls   查看当前linux系统的yum源文件信息,其中CentOS-Base.repo文件为默认的y ...

  6. 调整弹出对话框在ASP.NET应用程序的大小

    调整弹出对话框在ASP.NET应用程序的大小 #region 调整弹出对话框在ASP.NET应用程序的大小    protected void PopupWindowControl_Customize ...

  7. 数据库连接 UnicodeEncodeError: 'latin-1' codec can't encode character u'\u4eac' in position 0: ordinal not in range(256),UnicodeEncodeError: 'latin-1' codec can't encode character

    处理方法就是,设置连接和游标的charset为你所希望的编码,如utf8, 连接数据库的时候加上   charset="utf8 db = MySQLdb.connect(host= '14 ...

  8. psr-0和psr-4命名规范(未完)

    这些命名规范都是为为自动加载服务(避免项目中有很多的include和require) psr-0: 1.命名空间必须与绝对路径一致 2.类名首字母必须大写 3.除入口文件外,其他“.php”必须只有一 ...

  9. THREADSPOOL

    STPStartInfo stp = new STPStartInfo();//线程详细配置参数 stp.CallToPostExecute = CallToPostExecute.Always;// ...

  10. 亲热接触Redis-第一天

    引言 nosql,大规模分布式缓存遍天下.Internet的时代在中国由其走得前沿,这一切归功于我国特色的电商. 因此nosql.大数据技术在中国应用的比国外还要前沿. 从这一章開始我们将開始进入到真 ...