freemarker基本语法

<html> <head> <title>ftl基本语法使用示例</title> </head> <body> <center> <h2>1.字符串处理</h2> <#assignmsg='thisIStheTestoffreemarker&output'> 后台放入字符串:${msg}<br> html编码:${msg?html}<br> 转第一个字母大写:${msg?cap_first}<br> <#--转第一个字母小写:${msg?lower_first}<br>--> 字符串大写:${msg?upper_case}<br> 字符串小写:${msg?lower_case}<br> 去左右空格:${msg?trim}<br> 空值判断:${msg?if_exists}<br> 默认值abc:${msg?default('abc')}<br> 输出纯文本:${r"c:/ad/dfa"}<br> 插入boolean值false:<#assignfoo=false/>${foo?string('true','false')}<br> 取下标为2的字符:${msg[2]}<br> 取字串1-7:${msg[1..7]}<br> 字符串拼接: <#assignab="abc"> ${"hello"+ab}/${"hello${ab}"} <br> <hr> <h2>2.数字处理</h2> 赋值assignx=3.1415926<br> <#assignx=3.1415926/> x:m3小数部分最小3位#{x;m3}<br> x:M5小数部分最大5位#{x;M5}<br> x:m1M5#{x;m1M5}<br> 运算结果:3*5=${3*5}<br> 内建int1.1?int=:${1.1?int}<br> <br> 赋值assigny=20<br> <#assigny=20> 输出数字原:${y?string.number}<br> 输出货币数字:${y?string.currency}<br> 输出百分比:${y?string.percent}<br> 比较大小21(使用括号):y>21= <#if(y>21)> false <#else> true </#if> <br> 比较大小21(使用字串):y>21= <#ifygt21> false <#else> true </#if> <br> 转义字符:${r"<lt<=lte>gt>=gte"} <br> <hr> <h2>3.其他处理</h2> 日期:<br> 格式化输出:${date?string('yyyy-MM-dd')}<br> 格式输出yyyy-MM-ddHH:mm:sszzzz:${date?string("yyyy-MM-ddHH:mm:sszzzz")}<br> <hr> <h2>4.流程控制</h2> 赋值:assigna='1'<br> A.if-else逻辑判断<br> <#assigna='1'> <#ifa='0'> 0 <#elseifa='1'> 1 <#else> 2 </#if> <br> B.Switch<br> <#switcha> <#case'0'> 0 <#break> <#case'1'> 1 <#break> <#default> 2 </#switch> <br> C.遍历list<br> 后台传递list:stuList<br> 判断是否为空: <#ifstuList?size=0> 空的 <#else> 非空 </#if> <br> 下标: <#liststuListasstu> ${stu_index} </#list><br> 内容: <#liststuListasstu> ${stu.name} </#list><br> <hr> <h2>5.集合</h2> 定义list["winter","spring","summer","autumn"]<br> 输出:<#list["winter","spring","summer","autumn"]asx> ${x} </#list> <br> list[1..5] <#list1..5aslist> ${list} </#list> <br> 定义Map{"abc":23,"efg":35}<br> <#assignages={"abc":23,"efg":35}> 输出abc的年龄:${ages.abc}<br> 输出efg的年龄:${ages.efg}<br> 定义map,分别输出K-V <#assignselectelement={"1":"选择A","2":"选择B","3":"选择C","4":"选择D"}> <#assignskeys=selectelement?keys> <#listskeysaskey> <#assignvar0="${selectelement[key]}"> ${key}-${selectelement[key]} ---- ${var0} </#list><br> 序列连接["a","b"]+["e","f"]: <#assignliab=["a","b"]+["e","f"]> <#listliabasl> ${l} </#list><br> 散列连接{"1":"a","2":"b"}+{"2":"c","3":"d"}【散列右值覆盖左值】: <#assignma={"1":"a","2":"b"}+{"2":"c","3":"d"}> <#assignkeys=ma?keys> <#listkeysask> ${ma[k]} </#list><br> 双重list循环<br> <#listnumaslist> <#listlistastemp> ${temp} </#list> <br> </#list> <br> <hr> <h2>6.宏的使用</h2> A.使用宏 <#macrogreetpersoncolor> <fontsize="+2"color="${color}">Hello${person}!</font> </#macro> <@greetperson="ken"color="blue"/> <br> B.宏调用和嵌套nested:<br> <#macrobordermsg> ${msg}<br> <#nested><br> repart:<br> <#nested><br> </#macro> <@bordermsg="TheOUTMSG:"> MacroTest! </@border> <br> C.宏与宏之间的嵌套:<br> <#macropersonname> Hello!${name}<br> </#macro> <@bordermsg="TheOUTMSG:"> <@personname="Ken"/> </@border><br> D.宏变量中使用循环变量<br> <#macrorepeatcount> <#list1..countasx> <#nestedx,x/2,x==count/> </#list> </#macro> <@repeatcount=4;c,halfc,last> ${c}.${halfc}<br> <#iflast> last! </#if> </@repeat> </center> </body> </html> 可以在一个ftl中专门定义宏文件 <#macropagetitle> </#macro> 然后在另一个文件中使用import调用 <#import"/page/ftl/macro/common.ftl"ascom> 使用 <@com.pagetitle=""> </@com.page>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值