判断对象是否存在,若成立说明存在 <#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. c++与java的几个不同点

    Java.C.C++在近两年一直稳居世界编程语言排行榜前三名.Java与c++都是面向对象的语言,但Java晚于C++发布,部分语法和思想也参考了C++,只是Java 没有头文件.指针.运算符重载.虚 ...

  2. Android播放图片动画

    1.布局文件中添加ImageView <ImageView android:id="@+id/iv_fan" android:layout_width="wrap_ ...

  3. Visual Studio 2017 error: Unable to start program, An operation is not legal in the current state

    For me, the solution (workaround) is to turn off JavaScript debugging on Chrome, which I believe is ...

  4. C# 把ABCD转换成数字

    每倒题得选项可能是多选或者单选. public static string LetterTransformationNum(string answer, int type) { string num ...

  5. python---手动实现两个有序列表的合并

    可能又和标准的实现不一样, 但是自己的实现, 印象就会不一样的. # coding = utf-8 # 两个有序列表的合并,将two_list合并到one_list def merge_order_l ...

  6. 源码编译安装net-snmp

    https://blog.csdn.net/u013992330/article/details/79712405 https://wenku.baidu.com/view/24368a2257125 ...

  7. jquery自定义事件

    触发事件: $(document).trigger('REMOVE_WEBSITE_MSG'); 判断消息条数为0,触发这个

  8. Redis的消息通知

    Redis的消息通知可以使用List类型的LPUSH和RPOP(左进右出),当然更方便的是直接使用Redis的Pub/Sub(发布/订阅)模式. 1.使用List实现队列 使用列表类型的LPUSH和R ...

  9. textarea文本域宽度和高度width及height自动适应实现代码

    <HTML> <HEAD> <TITLE>textarea宽度.高度自动适应处理方法</TITLE> <!-- 控制宽度的自动适应 --> ...

  10. 基于bootstrap的jQuery多级列表树插件 treeview

    http://www.cnblogs.com/mfc-itblog/p/5233453.html http://www.htmleaf.com/jQuery/Menu-Navigation/20150 ...