判断对象是否存在,若成立说明存在 <#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. Linux/Unix/Mac OS下的远程访问和文件共享方式

    scp -P 20022 src.tar.gz zhouhh@192.168.12.13:/home/zhouhhscp -P 20022 zhouhh@192.168.12.13:/home/zho ...

  2. ORA-12705

    1. 分析 ORA-12705是一个与nls 环境或者文件相关的错误,按照Oracle 官方的提示,要么是环境变量配置错误,要么是通过alter session 命令调整了错误的nls参数值,要么是n ...

  3. Canvas锯齿问题

    canvas的宽高必须通过HTML属性指定,不能通过CSS指定,否则会有锯齿 这个是通过CSS定义宽高,绘制的图形 #myCanvas{ background: black; height: 800p ...

  4. 爬取文件时,对已经操作过的URL进行过滤

    爬取文件时,对已经操作过的URL进行过滤 1.创建过滤规则文件filter.py在spiders同级目录 class RepeatUrl: def __init__(self): self.visit ...

  5. python---冒泡和短冒泡排序

    冒泡是最费时的排序,但可以自定义更多步骤. 短冒泡确实可以加快性能. # coding = utf-8 # ========冒泡排序======== def bubble_sort(a_list): ...

  6. javascript OOP(上)(八)

    一.OOP的概念和继承 1.OOP概念 面向对象程序设计(Object-oriented programming,OOP)是一种程序设计范型,同时也是一种程序开发的方法.对象指的是类的实例.它将对象作 ...

  7. 期货大赛项目|三,autofac简单用法

    autofac是依赖注入 我们以前要引入一个dal层,是这么写的 private IDal _dao = new Dal() 我们可以看得出,这样写,我们的bll层不光依赖了接口IDal,还依赖了Da ...

  8. 【bzoj3717】[PA2014]Pakowanie 状压dp

    题解: 自己在这一类问题上想到的总是3^n的枚举法 首先背包从大到小排序 f[i]表示搞出为i的状态至少要用几个背包,g[i]表示最大剩余容量 这样就可以2^n*n 因为这么做利用了状态之间的先后顺序 ...

  9. 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)

    上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...

  10. python全栈开发day70-Django中间件

    参考个人博客 http://wuchengyi.com/post/13/ 三.预习和扩展