1 截取字符串
有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度
<#if title.content?length lt 8>
           <a href>${title.content?default("")}</a>
      <#else>
           <a href title="${title.content}">${title.content[0..3]?default("")}...</a>
</#if>
意思就是如果这个字符串的长度小于8,那么就正常显示,反之则取4位
注意:常用的比较运算符
=(==):判断两个值是否相等
!=:不相等
>(gt):判断左边是否大于右边
>=(gte):
<(lt):
<=(lte):
2 连接字符串
${"Hello," + user + "!"} //输出结果为:hello,swiftlet.net!

3 日期格式和boolean类型,转化为string类型
${lastUpdate?string("yyyy-MM-dd HH:mm:ss")}      
输出结果如下:
2003-04-08 21:24:44
<#assign foo=true/>
${foo?string("yes","no")} //输出结果:yes

4 排序
升序用sort_by()
<#list list?sort_by("字段") as x>
</#list>
降序用sort_by()?reverse
<#list list?sort_by("字段")?reverse as x>
</#list>

5 去空格
${xx?trim}

6 数值精度控制
mX:小数部分最小X位。
MX:小数部分最大X位。
<#assign x=2.582/>
<#assign y=4/>
#{x; M2}//2.58
#{y; M2}//4
#{x; m1M2}//2.58
#{y; m1M2}//4.0

7 内置函数

html:字符串中所有的特殊HTML字符都需要用实体引用来代替(比如<代替&lt;)
cap_first:字符串的第一个字母变为大写形式
lower_case:字符串的小写形式
upper_case:字符串的大写形式
trim:去掉字符串首尾的空格

序列使用的内建函数:
size:序列中元素的个数

数字使用的内建函数:
int:数字的整数部分(比如-1.9?int就是-1)9>.空值运算符

length:字符串的长度
string :把其他格式的数据,转化为string类型
${test?html}
${test?upper_case?html}

假设字符串test存储”Tom & Jerry”,那么输出为:

Tom &amp; Jerry
TOM &amp; JERRY

${seasons?size}
${seasons[1]?cap_first}

${"horse"?cap_first}
假设seasons存储了序列"winter", "spring", "summer", "autumn",那么上面的输出将会是:
4
Spring
Horse
                    
8 顶层变量
所谓顶层变量就是直接放在数据模型中的值。
Map root = new HashMap();
root.put("name","admin");//name是一个顶层对象
对于顶层变量,直接使用${variableName}来输出变量值
       
9 集合连接运算符
集合连接运算是将两个集合连接成一个新的集合,连接集合的运算符是'+'.
<#list ["一","二","三"] + ["四","五","六"] as x>
    ${x}
</#list>
//输出结果如下:
一二三四五六

10 算术运算符
取整运算
<#assign x=5>
${(x/2)?>int}//2
${1.1?int}//1
${1.999?int} //1
${-1.1?int}//-1

Freemarker常用技巧(一)的更多相关文章

  1. Freemarker常用技巧

    1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...

  2. Freemarker常用技巧(三)

    freemarker模板解析过程 例如:一个freemarker表达式<body> ${hello} </body>,会被解析成三个部分,分别是<body>${he ...

  3. Freemarker常用技巧(二)

    1 list.break指令<#list sequence as item>  ...</#list>tem_index:当前变量的索引值.item_has_next:是否存在 ...

  4. Freemarker的常用技巧总结

    Freemarker的常用技巧总结 Freemarker视频教程 1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. ...

  5. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

  6. oracle存储过程常用技巧

    我们在进行pl/sql编程时打交道最多的就是存储过程了.存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识.如:游标的处理,异常的处理,集 ...

  7. Vim 常用技巧:

    Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...

  8. JS~~~ 前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!

    前端开发一些常用技巧               模块化结构       &&&&&     命名空间处理 奇技淫巧!!!!!!2016-09-29    17 ...

  9. Android ListView 常用技巧

    Android ListView 常用技巧 Android TextView 常用技巧 1.使用ViewHolder提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每 ...

随机推荐

  1. SQL函数:用于将小写的数值翻译成大写的字符串

    --功能:  用于将小写的数值翻译成大写的字符串(支持到分,即小数点后两位)       --入口参数:@decNum------数字型变量    --返回:字符串    --举例:select db ...

  2. VS专案项目无法生成pdb文件解决办法

    在系统盘里找到该项目对应的dll文件(我的是在C:\Windows\Microsoft.NET\assembly\GAC_MSIL目录下),删除该dll后重新生成项目即可.

  3. C# 操作电脑 关机 重启 注销 休止 休眠

    // 关机 强制电脑10秒之内关机 //System.Diagnostics.Process.Start("shutdown", "-s -f -t 10"); ...

  4. uva 12207 - That is Your Queue

    #include <cstdio> #include <iostream> #include <deque> using namespace std; int ma ...

  5. impdp/expdp 总结

      impdp/expdp   1.创建DIRECTORY create directory dir_dp as '/tmp';   --建议将DIRECTORY 建在 /tmp 表下面,该目录肯定存 ...

  6. JS之arguments属性解读函数传参?

    Arguments 该对象代表正在执行的函数 和 调用他的函数的参数. arguments属性:为当前执行中的 Function 对象返回 arguments 对象 和 参数. [function.] ...

  7. ubuntu 引导删除

    点开始,在搜索中输入cmd,在搜到的cmd上右键以管理员身份运行,在打开的cmd中输入命令:bcdedit在命令结果中找到类似如下的版块: 实模式启动扇区---------------------标识 ...

  8. C语言刷新缓冲区(转载)

    C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 ...

  9. Codeforces739E Gosha is hunting

    题意:现在有n个精灵,两种精灵球各m1和m2个,每个精灵单独使用第一种精灵球有pi的概率被捕获,单独使用第二种精灵球有ui的概率被捕获,同时使用有1-(1-pi)*(1-ui)的概率被捕获.一种精灵球 ...

  10. 【转】Nginx配置文件详细说明

    Nginx配置文件详细说明 在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等 ...