写在ftl模板文件中的,类似JSP中的JSTL新的语法
1.通用插值
字符串型
<#setting number_format="currency"/>
<#assign answer=42/>
${answer}
${answer?string}
${answer?string.currency}
${answer?string.number}
输出:
¥42.00
¥42.00
¥42.00
42
日期型
在JAVA文件中定义
Map root = new HashMap();
root.put("message","Hello FreeMaker");
root.put("lastUpdate", new Date());
在模板文件中的输出
${lastUpdate?string("yyyy-mm-dd HH:mm:ss")}
${lastUpdate?string("EEE, MMM d, ''yy")}
输出:
2010-56-27 14:56:51
星期五, 八月 27, '10
数字型
数字格式化可采用#{expr:format}形式来格式化数字
mx:小数部分最小X位
Mx:小数部分最大X位
<#assign x=2.582/>
<#assign y=4/>
#{x;M2}<#--注意在这里数字的表示用#而不是用$-->
#{y;M2}
#{x;m1}
#{y;m1}
#{x;m1M2}
#{y;m1M2}
输出:
2.58
4
2.6
4.0
2.58
4.0
表达式
${"我是张三"}--直接定义字符串
${r"${foo}"}--特殊表示,定义在r后面的字符串都会输出
<#list ["星期一","星期二"] as x>--定义一个集合,集合采用[]表示,中间以逗号区分
${x}
</#list>
对于map的定义和使用
定义一个BOOK类,和一个Author类
Book属性Name,Author
Author属性Name,Address
在JAVA中
Book book = new Book();
Author author = new Author();
book.setName("J2EE权威指南");
author.setName("李刚");
author.setAddress("广州");
book.setAuthor(author);
Map root = new HashMap();
root.put("message","Hello FreeMaker");
root.put("lastUpdate", new Date());
root.put("info","Struts2 权威指南");
root.put("book",book);//将Book添加到Map中
页面获取的方式
${book.author.name}
${book.name}
输出:李刚
J2EE权威指南
集合标签
<#list ["星期一","星期二","星期三","星期四"] as x>
${x_index + 1}.${x}<#if x_has_next>,</#if>
</#list>
x代表当前指定的值。
x_index:当前变量的索引值
x_has_next:是否存在下一个对象
输出:星期一 星期二 星期三 星期四
不处理页面指令
<#noparse>
中间的内容将不做处理直接输出
<#list ["星期一","星期二","星期三","星期四"] as x>
${x_index + 1}.${x}<#if x_has_next>,</#if>
</#list>
</#noparse>
输出:
<#list ["星期一","星期二","星期三","星期四"] as x>
${x_index + 1}.${x}<#if x_has_next>,</#if>
</#list>
escape指令
<#escape x as x?html>
FirstName:${message}
</#escape>
类似于:
FirstName:${message?html}
assign指令
<#assign y>
<#list ["星期一","星期二","星期三","星期四"] as x>
${x}
</#list>
</#assign>
${y}
输出:
星期一 星期二 星期三 星期四
自定义模板标签
macro标签,可以自定义使用一个模板,
<#macro book booklist>
<#list booklist as a>
${a}
</#list>
</#macro>
使用模板采用的标签是@
<@book booklist=["星期一","星期二","星期三","星期四"]/>
book是别名,为了在@处引用,booklist表示的是传入的数据,
<#list booklist as a>
${a}
</#list>
在这个地方引用
分享到:
相关推荐
使用velocity freemarke 模版实现页面静态化,有具体代码实现例子
实现了网站静态化,提高网站的访问速度,freemaker API 有助于使用者查阅文档!有助于初学者学习,运用!
一个基于JEE和Freemaker的静态化web论坛系统
前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...
freeMaker在eclipse上的使用插件
struts1.2 + freemarker实现登录成功页面静态化例子
freemaker安装软件和freemaker中文文档的pdf,绝对好用
freemaker 简单实现 没有任何bug 自己随手学习freemaker时的项目,项目非常简单,下载附件后,加入到Myexlipse里面就可以运行
freemaker freemaker freemaker
NULL 博文链接:https://liu400liu.iteye.com/blog/1184162
在使用freemaker进行开发时,走了很多弯路,这个是最后终于成功后进行的总结,保留一份,并共享给大家
struts2.0入门资料,以及struts2.0 and freemaker的使用
freemaker简单小例子+ECharts例子,利用freemaker尝试使用ECharts
structs2 + spring2 + hibernate3 +freemaker + Ajax 其中包括Jquery+Ajax等最新技术 实现的完整项目实例,从中可以学得很多技术知识,只此一家别 无二家. 想学好java_Web开发的就赶紧下载吧 (己包含了数据库的文件,...
前端:jsp、JQuery 后台:Spring+...因为主页会有大量的人员访问,所以为了降低服务器的压力,避免数据库过多的查询压力,使用Freemaker页面静态化技术处理相关信息页,Ehcache缓存技术降低对数据库的访问次数。
freemaker帮助文档
亲测可用,利用freemaker处理excel模板,导入数据,myeclipse
FreeMaker IDE FreeMaker IDE
FreeMaker开发教程
freemaker 学习资料freemaker 学习资料freemaker 学习资料freemaker 学习资料freemaker 学习资料freemaker 学习资料