判断对象是否存在,若成立说明存在 <#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. 论文阅读笔记三十七:Grid R-CNN(CVPR2018)

    论文源址:https://arxiv.org/abs/1811.12030 开源代码:未公开 摘要 本文提出了目标检测网络Grid R-CNN,其基于网格定位机制实现准确的目标检测.传统方法主要基于回 ...

  2. 基于nginx的WebSocket反向代理

    系统:windows 版本:nginx 1.4.5 配置内容: location ~ \.do$ {             proxy_pass   http://192.168.20.102:80 ...

  3. ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案

    微信更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口.微信文档说明: 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=& ...

  4. WCF+Autofac 实现构造函数依赖注入

    1.新建一个项目 2.要对WCF服务实现Autofac注入,需要实现2个接口,IInstanceProvider与IServiceBehavior,并让实现IServiceBehavior的类成为一个 ...

  5. 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)

    除了宽带提供商的 DNS 以外,像阿里云.腾讯云.Google.百度.IBM.CNNIC 等一些有足够实力的大型互联网公司也非常慷慨地为公众提供了免费的 DNS 解析服务器.异次元这就搜集了全球范围内 ...

  6. 挂在光盘出现写保护mount: block device /dev/sr0 is write-protected, mounting read-only

    https://blog.csdn.net/yueludanfeng/article/details/60339688

  7. Multidex(二)之Dex预加载优化

    Multidex(二)之Dex预加载优化 https://www.jianshu.com/p/2891599511ff

  8. Oier们的镜子(mirror)

    题解: 这题真是把我坑的很惨.. 题目看了很久才看懂.. 然后刚开始又没看见每个只能匹配一个这种条件 #include <bits/stdc++.h> using namespace st ...

  9. ionic2中使用自定义图标

    在ionic2中使用自定义图标,如iconfont(阿里巴巴矢量图标). 先在http://www.iconfont.cn/ 中找到自己需要的图标,然后将图标加入购物车,然后下载该图标. 下载完成后解 ...

  10. 删除了原有的offset之后再次启动会报错park Streaming from Kafka has error numRecords must not ...

          笔者使用Spark streaming读取Kakfa中的数据,做进一步处理,用到了KafkaUtil的createDirectStream()方法:该方法不会自动保存topic parti ...