FreeMarker学习(常用指令)

参考:http://freemarker.foofun.cn/dgui_quickstart_basics.html

assign:

  使用该指令你可以创建一个新的变量, 或者替换一个已经存在的变量

attempt, recover:

  如果你想让页面成功输出内容,尽管它在页面特定位置发生错误也这样, 那么这些指令就是有用的。如果一个错误在 attempt block 执行期间发生, 那么模板执行就会中止,但是 recover block 会代替 attempt block 执行。 如果在 attempt block 执行期间没有发生错误, 那么 recover block 就会忽略。

compress:

  当你使用了对空白不敏感的格式(比如HTML或XML) 时压缩指令对于移除多余的 空白 是很有用的。它捕捉在指令体(也就是在开始标签和结束标签中)中生成的内容, 然后缩小所有不间断的空白序列到一个单独的空白字符。 如果被替代的序列包含换行符或是一段空间,那么被插入的字符也会是一个 换行符。 开头和结尾的不间断的空白序列将会完全被移除。

escape, noescape:

  当你使用escape指令包围模板中的一部分时,在块中出现的插值 (${...}) 会和转义表达式自动结合。这是一个避免编写相似表达式的很方便的方法。 它不会影响在字符串形式的插值(比如在 <#assign x = "Hello ${user}!">)。而且,它也不会影响数值插值 (#{...})。

flush:

  将内容从缓冲区刷新到终端

function, return:

  自定义函数

globle:

  该指令和 assign 相似,但是被创建的变量在所有的命名空间中都可见,但又不会存在于任何一个命名空间之中。

if, else, elseif:

  条件分支指令

import:

  导入一个新的模板,并设置新的命名空间

include:

  包含一个新的模板

list, else, items, sep, break:

  list指令,用于序列的遍历

local:

  创建局部变量

macro, nested, return:

  自定义宏

<#macro name param1 param2 ... paramN>
  ...
  <#nested loopvar1, loopvar2, ..., loopvarN>
  ...
  <#return>
  ...
</#macro>
  • name: 宏变量的名称,它不是表达式。和 顶层变量 的语法相同,比如 myMacro 或 my\-macro。 然而,它可以被写成字符串的形式,如果宏名称中包含保留字符时,这是很有用的, 比如 <#macro "foo~bar">...。 注意这个字符串没有扩展插值(如 "${foo}")。
  • param1, param2,等...: 局部变量 的名称,存储参数的值 (不是表达式),在 = 号后面和默认值(是表达式)是可选的。 默认值也可以是另外一个参数,比如 <#macro section title label=title>。参数名称和 顶层变量 的语法相同,所以有相同的特性和限制。
  • paramN, 最后一个参数,可能会有三个点(...), 这就意味着宏接受可变数量的参数,不匹配其它参数的参数可以作为最后一个参数 (也被称作笼统参数)。当宏被命名参数调用, paramN 将会是包含宏的所有未声明的键/值对的哈希表。当宏被位置参数调用, paramN 将是额外参数的序列。 (在宏内部,要查找参数,可以使用 myCatchAllParam?is_sequence。)
  • loopvar1, loopvar2等...: 可选的,循环变量 的值, 是 nested 指令想为嵌套内容创建的。这些都是表达式。

  return 和 nested 指令是可选的,而且可以在 <#macro ...> 和 </#macro> 之间被用在任意位置和任意次数。

  没有默认值的参数必须在有默认值参数 (paramName=defaultValue) 之前

<#macro test foo bar baaz>
  Test text, and the params: ${foo}, ${bar}, ${baaz}
</#macro>
<#-- call the macro: -->
<@test foo="a" bar="b" baaz=5*5-2/>
<#macro test foo bar="Bar" baaz=-1>
  Test text, and the params: ${foo}, ${bar}, ${baaz}
</#macro>
<@test foo="a" bar="b" baaz=5*5-2/>
<@test foo="a" bar="b"/>
<@test foo="a" baaz=5*5-2/>
<@test foo="a"/>

noparse:

  不会解析该指令包裹的内容,原样输出。

nt:

  "不要削减"。该指令禁用行中出现的 剥离空白。

setting:

  配置freemarker,支持的设置有:

  • locale
  • umber_format
  • boolean_format
  • date_format, time_format, datetime_format
  • time_zone
  • sql_date_and_time_time_zone
  • url_escaping_charset
  • output_encoding
  • classic_compatible

switch, case, default, break:

  同Java swtich分支一样。

t, lt, rt:

  • t (整体削减):忽略本行中首和尾的所有空白。
  • lt (左侧削减):忽略本行中首部所有的空白。
  • rt (右侧削减):忽略本行中尾部所有的空白。

原文地址:https://www.cnblogs.com/lpob/p/10835701.html

时间: 2024-10-08 08:15:20

FreeMarker学习(常用指令)的相关文章

FreeMarker FTL常用指令(3)

1.FreeMarker的3种FTL标签 ①开始标签:<#directivename parameter>②结束标签:</#directivename>③空标签:<#directivename parameter/> 在FreeMarker中,使用FTL标签来使用指令,这和HTML标签是完全类似的.使用标签时前面的符号#也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号. 2.FreeMarker的常用指令  FreeMarker的常用指令

FreeMarker 的常用指令介绍

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

AngularJS1学习-常用指令(四)

1.循环数组 1 <script type="text/javascript"> 2 //定义一个叫myApp的模块 3 var app = angular.module('myApp',[]); 4 //定义控制器 5 app.controller('myController',function($scope){ 6 $scope.list=[100,101,102,103,104]//定义数组 7 8 }) 9 10 </script> 11 12 <

[转] Freemarker的常用技巧总结

1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte <#if jstbqkVO.gzdd?length lt 8>           <a href>${jstbqkVO.gzdd?default("")}</a>      <#else>           <a href title=&

Freemarker的常用技巧总结

Freemarker的常用技巧总结 1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte <#if jstbqkVO.gzdd?length lt 8>            <a href>${jstbqkVO.gzdd?default("")}</a>       <#else>         

Linux 学习一 Linux常用指令,常用目录,Vi编辑器

1. Linux常用指令 常用指令 功能 startx 进入图形界面 Shutdown -h now 关机 Shutdown -r now  或者 reboot 重启 Su - 切换管理员 logout 注销 Ls   或者 dir 当前目录所有文件 Ls -l 当前目录所有文件详细信息 cd 切换目录 pwd 列出当前目录路径 Useradd XXX 添加用户XXX Passwd XXX 给用户XXX修改密码 Userdel XXX 删除用户XXX Userdel -r XXX 删除用户XXX

走进AngularJs(二) ng模板中常用指令的使用方式

通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板开始入手是个不错方式,因为这部分内容相对简单好理解,而且是视图层的东西,大家都喜欢可以立马看得见的东西嘛.本篇我将搜罗模板中的常用指令一一测试,了解其使用方法,有点像背单词的感觉,会比较枯燥.不过对于初学,这样的枯燥是必须要经历的,开始~ 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下

Markdown语法 与 Hexo常用指令

Markdown语法 与 Hexo常用指令 Markdown Hexo Markdown是一种超轻量级的标记语言,常用的标记符号不超过十个,相对于更为复杂的HTML标记语言来讲,Markdown实在简便多了,因此学习成本也不是很大.更多关于Markdown的认识,我们可以参考:认识与入门 Markdown Markdown工具 关于支持Markdown的书写工具网络上有很多推荐,这里不再一一列举,常用的有: Mou:外文世界对 MarkDown 的热衷在 Mac 上可见一斑,目前虽是免费的,但功

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作)

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作) ·1.1·前言 黑客一次是由英语"Hacker"英译出来的,是指专门研究.发现计算机和网络漏洞的计算机爱好者,他们伴随着计算机和网络的发展而产生成长.黑客对计算机有着狂热的兴趣和执着的追求,他们不断的研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法. 黑客的出现推动了计算机和网络的发展与完善.他们所做的不是恶意破坏,他们是一群纵横于网络的大

git/github常用指令、入门

git的基本常用指令: 1.cd:切换路径 2.mkdir:进入文件夹目录 3.pwd:显示当前目录的路径 4.git init:把当前的目录变成可以管理的git仓库,生成隐藏.git文件 5.git add 文件名:把文件添加到暂存区去 6.git commit –m "版本提交备注":提交文件 –m 后面的是注释 7.git commit -a -m "版本提交备注":此指令是5.6两个步骤的合并版,添加所有更新过的文件并提交 8.git status:查看仓库