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. 【HTML入门】Html中块状元素和内联元素解析

    [HTML入门]Html中块状元素和内联元素解析 块元素(block element)一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,内联元素(inline elem ...

  2. P2P原理

    简单介绍 前面文章在分布式计算泛型中介绍过P2P泛型.他是一种是一种无中心server的对等网络泛型. P2P即Peer-to-Peer的缩写.翻译为点对点或者端对端.就是我们常说的对等计算. P2P ...

  3. 【jquery操作cookie】JQuery中$.cookie()方法的使用(同名cookie会覆盖)

    jquery.cookie.js插件: <script type="text/javascript" src="js/jquery-1.6.2.min.js&quo ...

  4. 为什么我没有拔出钥匙 ——开锁引发的程序bug解决方案的思考

    http://blog.csdn.net/wojiushiwo987/article/details/8851204为什么我没有拔出钥匙                             ——开 ...

  5. eclipse使用git提交本地项目,提交至远程github上

    准备工作: 目的:eclipse使用git提交本地项目,提交至远程github上 eclipse版本:eclipse4.5  64位 jdk版本:jdk-1.7 64位 项目类型:maven web项 ...

  6. Spring boot配置fastjson

    pom 文件引用 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson< ...

  7. C++二维数组讲解、二维数组的声明和初始化

    我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...

  8. Python 爬虫实例(5)—— 爬取爱奇艺视频电视剧的链接(2017-06-30 10:37)

    1. 我们找到  爱奇艺电视剧的链接地址 http://list.iqiyi.com/www/2/-------------11-1-1-iqiyi--.html 我们点击翻页发现爱奇艺的链接是这样的 ...

  9. JEECG技术总结

    1.用户数据迁移时,必须在表t_s_base_user和t_s_user中都插入数据才会在页面显示.2.执行sql语句: String sql = "select count(id) fro ...

  10. github上创建ssh连接多个账户

    简单的说用两对ssh密钥来连接多个github账户,有的同学问:用一对连接多个账户行吗?答案是不行,因为密钥和你的账户邮箱关联了. 1.生成密钥. sshkey -t rsa -b 4096 -C & ...