判断对象是否存在,若成立说明存在 <#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. 启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space

    三种因素引起: 1.jvm(jdk)的内存引起. 2. eclipse的内存引起. 3.tomcat的内存引起. 1.解决方法: 2.解决方法: 解决问题的方式就是:修改了安装目录eclipse.in ...

  2. java运行环境增加字体

    背景 今天在使用jfreeChart时,显示中文乱码,如下图: 环境:Ubuntu 13.04 64bit  java7  tomcat 7.0.42 解决方法--增加系统字体 0. 安装环境包 su ...

  3. fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

    fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...

  4. P1036 选数 题解

    题目链接https://www.luogu.org/problemnew/show/P1036 题目描述 已知 nnn 个整数 x1,x2,-,xnx_1,x_2,-,x_nx1​,x2​,-,xn​ ...

  5. TodoMVC:帮助你选择一个MV*框架

    开发者现在有很多的MV*框架选择来组织开发web应用程序.Backbone. Ember.AngularJS.Spine… 新的稳定解决方案列表持续增长,但你如何决定在海量的框架中选择哪个使用? 为了 ...

  6. IntelliJ Idea 配置Tomcat提示Port is not specified

    修改Debug这里的端口就好了

  7. .NET C# 创建WebService服务简单的例子

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  8. docker挂载点泄露问题

    本来以为我不会遇到. 结果还是遇到了. 现象为k8s delete pod时,系统一直显示Terminatiing,无论多久都不能正常. 以下两个帖子大概说明了是怎么回事. https://blog. ...

  9. CentOS7安装wps

    https://blog.csdn.net/u010445843/article/details/77828552

  10. Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...