判断对象是否存在,若成立说明存在 <#if blockObjList ??></#if>

<#if blockObjList ??>  <#else>  </#if>

判断知否和某一个值相等(先判断是否存在,在判断相等,如果该指定的参数不存在还比较相等的话就回出错) <#if componentId ?? &&  componentId==1></#if>

list循环(循环遍历list并给遍历的对象取别名attribute以方便后面对象调用),if_exists在调用一个变量需要先判断是否为空不然为空时会出错,_index为取出行号索引从0开始,?size可以判断list大小  <#list lockObj.components              as  attribute>  ${attribute.contenturl?if_exists} ${attribute_index}  </#list>    {lockObj.components ?size}

ftl.map   

    <#list Map?keys as s>   

        ${Map[s]}   

    </#list>

变量与指定值相加减,需要先判断该变量是否为数字类型,?number 然后转换为数字类型再做相减运算(变量number与指定的2相减) ${blockWidth?number-2}

日期转换

时间格式化的方法代码 

        最好加上 判断下c时候存在   

       <#if c??>   

             ${c.addtime?string("yyyy-MM-dd HH:mm:ss")   

       </#if>  

判断长度并截取代码 
      <#if c.titleH1??>   

          <#if c.titleH1?length lt 33>   

              ${c.titleH1}

Ftl变量转换代码 
      ?number转为数字   

      ?c转为字符串   

      ?string转为字符串   

      ?currency(货币)   

     ?percent(百分比)   

      trim 删除字符串首尾空格 ${“  String ”?trim} 结果为String   

      split使用指定的分隔符将一个字符串拆分为一组字符串   

     <#list “This|is|split”?split(“|”) as s>   

        ${s}   

     </#list>

${“strabg”?replace(“ab”,”in”)} 结果为string   

${“string”?contains(“ing”)?string} 结果为true   

注意:布尔值必须转换为字符串才能输出   

${“string”?index_of(“in”) 结果为3  

${“string”?index_of(“ab”) 结果为-1  

length返回字符串的长度 ${“string”?length}结果为6  

lower_case将字符串转为小写   

${“STRING”?lower_case}à结果为string   

upper_case将字符串转为大写   

${“string”?upper_case}à结果为STRING   

ends_with 判断某个字符串是否由某个子串结尾,返回布尔值。   

${“string”?ends_with(“ing”)?string} 返回结果为true   

注意:布尔值必须转换为字符串才能输出   

html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp   

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

Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。   

如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为   

${‘str’?substring(0)}à结果为str   

${‘str’?substring(0,1)}à结果为s   

2.cap_first 将字符串中的第一个单词的首字母变为大写。   

${‘str’?cap_first}à结果为Str   

3.uncap_first将字符串中的第一个单词的首字母变为小写。   

${‘Str’?cap_first}à结果为str   

4.capitalize将字符串中的所有单词的首字母变为大写   

${‘str’? capitalize}à结果为STR   

date,time,datetime将字符串转换为日期   

例如:   

<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>   

<#assign date2=”9:28:20”?time(“HH:mm:ss”)>   

<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>   

${date1}à结果为2009-10-12  

${date2}à结果为9:28:20  

${date3}à结果为2009-10-12 9:28:20  

?number转为数字 

?c转为字符串 

?string转为字符串 

?currency(货币) 

?percent(百分比) 

trim 删除字符串首尾空格 ${“  String ”?trim} 结果为String 

split使用指定的分隔符将一个字符串拆分为一组字符串 

<#list “This|is|split”?split(“|”) as s> 

${s} 

</#list> 

${“strabg”?replace(“ab”,”in”)} 结果为string 

${“string”?contains(“ing”)?string} 结果为true 

注意:布尔值必须转换为字符串才能输出 

${“string”?index_of(“in”) 结果为3 

${“string”?index_of(“ab”) 结果为-1 

length返回字符串的长度 ${“string”?length}结果为6 

lower_case将字符串转为小写 

${“STRING”?lower_case}à结果为string 

upper_case将字符串转为大写 

${“string”?upper_case}à结果为STRING 

ends_with 判断某个字符串是否由某个子串结尾,返回布尔值。 

${“string”?ends_with(“ing”)?string} 返回结果为true 

注意:布尔值必须转换为字符串才能输出 

html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp 

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

Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。 

如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为 

${‘str’?substring(0)}à结果为str 

${‘str’?substring(0,1)}à结果为s 

2.cap_first 将字符串中的第一个单词的首字母变为大写。 

${‘str’?cap_first}à结果为Str 

3.uncap_first将字符串中的第一个单词的首字母变为小写。 

${‘Str’?cap_first}à结果为str 

4.capitalize将字符串中的所有单词的首字母变为大写 

${‘str’? capitalize}à结果为STR 

date,time,datetime将字符串转换为日期 

例如: 

<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)> 

<#assign date2=”9:28:20”?time(“HH:mm:ss”)> 

<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)> 

${date1}à结果为2009-10-12 

${date2}à结果为9:28:20 

${date3}à结果为2009-10-12 9:28:20 

宏定义hash内置函数代码 

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>  

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>

参考文献  http://blog.csdn.net/hbhgjiangkun/article/details/7283634

FTL常用标签及语法的更多相关文章

  1. Freemaker FTL指令常用标签及语法

    https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...

  2. FTL指令常用标签及语法

    FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析. freemaker注释:<#-- 注释内容 -->格式部分,不会输出 - ...

  3. 前端之HTML语法及常用标签

    html语法: 1.常规标记: <标记 属性=“属性值” 属性=“属性值”></标记>: 2.空标记: <标记 属性=“属性值” 属性=“属性值”/> 注意事项: ...

  4. HTML常用标签

    HTML常用标签: HTML文档格式: 首先,HTML是一种超文本标签语言,它是制作网页的基础. 其次,HTML文档中至少包含基本的和成对的<html> </html>.< ...

  5. 9月5日网页基础知识 通用标签、属性(body属性、路径、格式控制) 通用标签(有序列表、无序列表、常用标签)(补)

    网页基础知识 一.HTML语言 HTML语言翻译汉语为超文本标记语言. 二.网页的分类 1.静态页面:在静态页面中修改网页内容实际上就是修改网页原代码,不能从后台操作,数据来只能来源于原于代码.静态网 ...

  6. Struts2常用标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  7. jsp学习--JSP运行原理,九大隐式对象和JSP常用标签

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  8. html dl dt dd标签元素语法结构与使用

    dl dt dd认识及dl dt dd使用方法 <dl> 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一. ...

  9. JSTL与EL常用标签(转)

    JSTL与EL EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程 ...

随机推荐

  1. You are my brother

    问题 : You are my brother 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Little A gets to know a new friend, Little B, ...

  2. 解决linux下svn update 产生Node remains in conflict的问题

    提交一个文件 服务器上死活更新不了 是因为有冲突,解决办法:svn revert --depth=infinity /var/SvnProject/APITest 再次执行更新 进有改动的文件夹,更新 ...

  3. jvm(转)

    原:https://blog.csdn.net/luomingkui1109/article/details/72820232 1.JVM简析:      作为一名Java使用者,掌握JVM的体系结构 ...

  4. OrCAD Capture CIS 16.6 快速地编辑Part的引脚名称

    操作系统:Windows 10 x64 工具1:OrCAD Capture CIS 16.6-S062 (v16-6-112FF) 工具2:Excel 参考1:http://www.360doc.co ...

  5. json数据转为Map集合

    我是利用Gson来弄得Gson gson = new Gson();//显得出HashMap的类型Type type = new TypeToken<HashMap<String, Str ...

  6. 总结Java虚拟机内存区域模型

    本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用.服务对象以及其中可能产生的问题,作为大家的面试宝典. 首先我们来看一下Java运行时的数据区域,Java虚拟机在执行Java程序 ...

  7. 011-Python-进程、线程于协程

    1.进程与线程 进程: 一个程序要运行时所需的所有资源的集合: 一个进程至少需要一个线程,这个线程称为主线程,一个进程里可以包含多个线程: cpu 核数越多,代表着你可以真正并发的线程越多2个进程之间 ...

  8. UPC 6616 Small Mulitple

    D - Small Multiple 题目传送门 Time limit : 2sec / Memory limit : 256MB Score : 700 points Problem Stateme ...

  9. Visual Studio上编译ncnn

    prerequisite 是为了在PC上熟悉ncnn的基本代码,所以用Visual Studio来配置的. 期间用过VS2013(update5)/VS2015/VS2017,反正都是基于CMake生 ...

  10. C# 正则表达式匹配盘符

    if (!Regex.IsMatch(diskName, @"^[c-zC-Z](:\\)?$")) { throw new FormatException($"{dis ...