freemarker创建模板文件常用标签
一:引入freemarker坐標(biāo):
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
二:創(chuàng)建模板文件test.ftl
<html>
<head>
<meta charset="utf-8">
<title>Freemarker入門小DEMO </title>
</head>
<body>
<#--我只是一個(gè)注釋,我不會(huì)有任何輸出 -->
${name},你好。${message}
</body>
</html>
三:加載模板,創(chuàng)建文件
//1.創(chuàng)建配置類 Configuration configuration=new Configuration(Configuration.getVersion()); //2.設(shè)置模板所在的目錄 configuration.setDirectoryForTemplateLoading(new File("D:/pyg_work/freemarkerDemo/src/main/resources/")); //3.設(shè)置字符集 configuration.setDefaultEncoding("utf-8"); //4.加載模板 Template template = configuration.getTemplate("test.ftl"); //5.創(chuàng)建數(shù)據(jù)模型 Map map=new HashMap(); map.put("name", "張三 "); map.put("message", "歡迎來(lái)到神奇世界!"); //6.創(chuàng)建Writer對(duì)象 Writer out =new FileWriter(new File("d:\\test.html")); //7.輸出 template.process(map, out); //8.關(guān)閉Writer對(duì)象 out.close();四:模板指令(ftl指令)
1)assign指令
<#assign linkman="周先生">
聯(lián)系人:${linkman}
<#assign info={"mobile":"13301231212",'address':'北京市昌平區(qū)王府街'} >
電話:${info.mobile} 地址:${info.address}
2)include指令
<#include "head.ftl">
3)if指令
<#if success=true>
你已通過(guò)實(shí)名認(rèn)證
<#else>
你未通過(guò)實(shí)名認(rèn)證
</#if>
4)list指令
<#list goodsList as goods>
${goods_index+1} 商品名稱: ${goods.name} 價(jià)格:${goods.price}<br>
</#list>
如果想在循環(huán)中得到索引,使用循環(huán)變量+_index就可以得到。
五:內(nèi)建函數(shù)
語(yǔ)法:變量+?+函數(shù)名稱
1)獲取集合大小?size
共 ${goodsList?size} 條記錄
2)字符串轉(zhuǎn)為json對(duì)象?eval
<#assign text="{'bank':'工商銀行','account':'10101920201920212'}" />
<#assign data=text?eval />
開(kāi)戶行:${data.bank} 賬號(hào):${data.account}
3)日期格式化
當(dāng)前日期:${today?date} <br>
當(dāng)前時(shí)間:${today?time} <br>
當(dāng)前日期+時(shí)間:${today?datetime} <br>
日期格式化: ${today?string("yyyy年MM月")}
4)數(shù)字轉(zhuǎn)為字符串?c
累計(jì)積分:${point?c}
5)判斷變量是否存在:“??”
<#if aaa??>
aaa變量存在
<#else>
aaa變量不存在
</#if>
6)變量不存在賦值默認(rèn)值為""
${aaa!""}
7)格式化數(shù)字?string
bdDto.bidList.bidSumQty?string(',##0.000')
?
總結(jié)
以上是生活随笔為你收集整理的freemarker创建模板文件常用标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Android Studio学习】第二
- 下一篇: delphi android 短信,de