<#if blockObject ??> <#else> </if>
判断对象是否存在

<#if componentid ?? &&componentid==1> </if>
先判断对象是否存在,在判断是否相等。否则会出错
<#list lockObj.conponents as lockObj>
${lockObj.contenturl?if_exists}
${lockObj_index}
<#list>
{lockObj?size}

${width?number-2}
先判断变量是否为数字类型,再做运算

<#if c??>
${c.addtime?string(yyyy-MM-dd HH:mm:ss)}
</if>
日期转换,即格式化

?number
?string
?currency
?percent
trim 去空格 ${" string "? trim}

split 拆分字符串为一组字符串
<# list ”this,is,split"?split(",") as s>
${s}
</#list>

${"strabg"?replace("ab","in")}
将 ab替换为in

${"string"?contains("ing")?string} true
布尔值需转化为字符串才能输出

${"steing"?index_of("in")} 3

${"steing"?length)} 6

?lower_case
?upper_case
?end_with() 判断某个字符串是否由耨个字符串结尾,返回布尔值

index_of(substring,start)
在字符串中查找某个子串,返回找到子串的第一个字符的索引
否则返回-1

?cap_first
?uncap_first
?caplitalize 将字符串中的所有单词的首字母变为大写

date,time,datetime 将字符串转换为日期
<#assign date1="1992-08-23"?date("yyyy-MM-dd")>
<#assign date2="5:33:32”?time("HH:mm:ss")>
<#assign date3="1992-08-23 5:33:32"?time("yyyy-MM-dd HH:mm:ss")

Hash 的内置函数
1.hash?keys 返回hash里所有的key,结果为sequence
2.hash?values 返回hash里所有的value,结果为sequence

<#assign user={“name”:“hailang”, “sex”:“man”}>
<#assign keys=user?keys>
<#list keys as key>
${key}=${user[key]}
</#list>

FTL标签的更多相关文章

  1. Freemarker的初次使用之FTL标签嵌套与map的使用

    入职第二周了,在熟悉了公司自动化测试脚本的编写(使用什么数据库,使用哪种语言,框架带了哪些方法)后,现在开始熟悉模拟器,我们把请求发到服务器1,服务器1根据请求参数处理后将结果发给模拟器,模拟器根据服 ...

  2. FreeMarker标签与使用

    模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选 ...

  3. FreeMarker标签介绍

    转自:http://www.blogjava.net/kxbin/articles/366505.html FreeMarker标签使用 一.FreeMarker模板文件主要有4个部分组成  1.文本 ...

  4. FreeMarker标签

    目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选择使用freemarker或velocity ...

  5. FreeMarker标签使用

    FreeMarker标签使用 模板技术在现代的软件开发中有着重要的地位,主要用于view层的展示,freemarker是比较流行的一种. 一.FreeMarker模板文件主要有4个部分组成 ①文本,直 ...

  6. FTL(FreeMarker)基础

    FreeMarker标签使用一.FreeMarker模板文件主要有4个部分组成1.文本,直接输出的部分2.注释,即<#--...-->格式不会输出3.插值(Interpolation):即 ...

  7. Java多种方式动态生成doc文档

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5280272.html 本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在An ...

  8. FreeMarker的基础语法

    FreeMarker语言 FreeMarker语言概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. FreeMarker被设计用来生成HTML Web ...

  9. FreeMarker模板开发指南知识点梳理

    freemarker是什么? 有什么用? 怎么用? (问得好,这些都是我想知道的问题) freemarker是什么? FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生 ...

随机推荐

  1. 点击验证码刷新(tp3.1)--超简单

    省略js点击刷新验证码,虽然看不懂 <img src='http://localhost/app/index.php/Index/verify/'  onclick='this.src=this ...

  2. post提交表单

    <script type="text/javascript"> $(function () { $("#btnRefresh1").click(fu ...

  3. Memcached和Redis对比和适用场景

    关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...

  4. word文档的生成、修改、渲染、打印,使用Aspose.Words

    无需MS Word也可执行各种文档处理任务,包括文档的生成.修改.渲染.打印,文档格式转换和邮件合并等文档处理.

  5. [codevs1022]覆盖

    [codevs1022]覆盖 试题描述 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地.如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积. ...

  6. C++ const用法 尽可能使用const [转载]

    C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的.如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助. 1.c ...

  7. 2016年11月2日--Window.document对象

    一.找到元素: docunment.getElementById("id"):                      根据id找,最多找一个: var a =docunment ...

  8. CCF 模拟B 无脑循环+输入输出外挂

    http://115.28.138.223:81/view.page?opid=2#code 代码一有WA点80分 #include<iostream> #include<cstdi ...

  9. ubuntu安装cacti错误

    安装cacti时,明明mysql信息都配置正确了,权限也分配好了,可是仍然报错,如下: 这时可以试试到/etc/cacti目录下,修改debian.php中的mysql配置信息,问题应该就能解决了.

  10. PHP环境搭建——Apache、Mysql、PHP单独安装(for Windows)

    提示: 安装之前先要安装vcredist_x86.exe或vcredist_x64.exe(vc6,vc9,vc11等,和下面对应). 确保apache和php是用同样版本的编译器编译出来的,如果是v ...