freemarker2 指令
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 > 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 指令的更多相关文章
- iOS逆向工程之Hopper中的ARM指令
虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学.现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少的实验,当时自我感觉ARM这门课学的还是 ...
- 步入angularjs directive(指令)--点击按钮加入loading状态
今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- [Django]用户权限学习系列之User权限基本操作指令
针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...
- 机器指令翻译成 JavaScript —— No.5 指令变化
上一篇,我们通过内置解释器的方案,解决任意跳转的问题.同时,也提到另一个问题:如果指令发生变化,又该如何应对. 指令自改 如果指令加载到 RAM 中,那就和普通数据一样,也是可以随意修改的.然而,对应 ...
- ARM的栈指令
ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...
- IL指令详细表
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- Angular学习-指令入门
1.指令的定义 从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签.指令可以很简单,也可以很复杂.AngularJS的HTML编译器会解析指令,增强模板的功能.也是组件化未来的发展趋势, ...
随机推荐
- Redhat 5禁止IPv6
Redhat 5禁止IPv6 IPv6还没有全然普及,可是安装完系统之后IPv6是有效的,在一定程度上影响网络性能,所以在我们在全然不使用IPv6的情况下.最好关闭IPv6.如今我们就在本文以完整的 ...
- java注解,通过反射解析注解,模仿hibernate,获取sql语句。
常用注解: 自定义注解,标准格式: 1,target:注解作用域 2,Retention:声明周期 运行子类继承,但是子类继承只能作用到类注解,字段注解,是继承不了的. 使用注解:通过下面这种方式,为 ...
- spring AOP编程--AspectJ注解方式
1. AOP 简介 AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, ...
- Mongoose使用——nodejs结合mongodb
0. 前言: Mongoose是NodeJS的驱动,不能作为其他语言的驱动.Mongoose有两个特点: 通过关系型数据库的思想来设计非关系型数据库 基于mongodb驱动,简化操作 Mongooos ...
- Mac删除.svn文件
find . -type d -name ".svn"|xargs rm -rf
- linux下apache服务器的安装、启动、查看
一.apache的启动 apahce启动命令:/你的安装目录/apachectl start apaceh启动 apache停止命令/你的安装目录/apachectl stop 停止 apache ...
- Android 依赖注入: Dagger 2 实例解说(一)
本文原创,转载请注明出处:http://blog.csdn.net/zjbpku [Duplicated] link to Dagger on Android - Dagger2具体解释 关于D ...
- 线程相关函数(7)-sem_post(), sem_wait() 信号量
sem_tsem_initsem_waitsem_trywaitsem_timedwaitsem_postsem_destroy 生产者消费者实例: #include <stdlib.h> ...
- 每日英语:Who Ruined The Humanities?
You've probably heard the baleful reports. The number of college students majoring in the humanities ...
- jmap 查看内存使用直方图
jps -- 查看进程号 jmap -histo pid 查看堆内存中的对象数目.大小统计直方图, 如果带上live则表示先进行一次fullgc 再统计内存使用情况,如下: jmap -hist ...