`
- 浏览:
1061822 次
- 性别:
- 来自:
US
-
<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>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法
Freemarker 基本语法整理 作为一款流行的模板引擎,Freemarker 在 Struts2 框架中扮演着重要的角色。本文将对 Freemarker 的基本语法进行整理,涵盖输出、逻辑判断、循环遍历、宏等方面的知识点。 输出 在 ...
FreeMarker模板基本语法
freemarker(FTL)常见语法大全,讲解ftl中的常见语法。
FreeMarker的基本语法,从官方文档翻译的!
这些是Freemarker的基础和进阶知识点,涵盖了从基础语法到实际应用的多个方面。通过学习和理解这些内容,开发者能够更好地利用Freemarker来构建动态网页和应用程序。实际开发中,熟练掌握这些技巧将大大提高工作效率...
Freemarker语法完整版 Freemarker是基于模板的生成技术,可以根据给定的数据模型生成动态的文本输出。在Freemarker中,存在五种基本概念:Scalars、Hashes、Sequences、Collection Variables和Methods。 1. ...
freemarker 语法基础(转)
熟练掌握这些基础语法,开发者就能有效地创建复杂的模板,实现与后端数据的动态交互,为用户提供定制化的视图体验。在实际应用中,结合具体项目需求,不断实践和探索,可以进一步提升FreeMarker的使用技巧。
FreeMarker语法知识,该文档里面详细的描述了FreeMarker的基本语句和一些示例
Freemarker是一个强大的模板引擎,常用于Web开发中动态生成HTML或其他类型的文本。它使用自己的模板语言FTL(FreeMarker Template Language...理解这些基本概念和语法,能帮助开发者高效地使用Freemarker创建动态模板。
FreeMarker_NPP - 用于 Notepad ++ 的 FreeMarker 基本语法高亮显示是的用户定义语言,它为模板语言提供基本的语法突出显示。 FreeMarker_NPP 在下获得(请参阅 license.txt 文件) ##安装确保您安装了并带有使用 ...
FreeMarker模板文件的组成及基本语法详解 FreeMarker模板文件由四部分组成:文本、注释、插值和FTL指令。文本是直接输出的部分,注释是以#--开头的格式部分,不会输出。插值是以${...}或#{...}格式的部分,将使用...
本文将详细介绍FreeMarker的基本语法,包括序列(sequence)、键值对(hash)、命名空间(namespace)以及控制结构(if/else、switch、list)和包含(include)指令。 1. **序列(Sequence)**: 在FreeMarker中,...
以下是对Freemarker基本语法和特性的详细说明: 1. **基本语法结构**: - `<#...>`:这是Freemarker模板的主要内容,其中包含所有Freemarker指令和表达式。模板外部的内容会被原样输出。 - `<@.../>`:用于调用...
下面将详细介绍 FreeMarker 的思想、基本语法、内置函数等相关知识点。 一、FreeMarker 思想 FreeMarker 的思想是基于模板语言的,模板语言是一种特殊的编程语言,用于生成文本输出。FreeMarker 模板语言的主要...
Freemarker的jar包是动态网页静态化的必备jar包,静态化的工作基本上都是由他来完成的,如果没有他,你就不用往下看了,打魔兽去吧。Urlrewrite的jar包是用来解决将动态的网页静态化之后的传参问题的。freemarker-...
在初次接触FreeMarker时,了解其基本概念、语法和使用场景至关重要。 **FreeMarker的工作原理:** FreeMarker的工作方式是将数据模型(通常来自后台Java代码)与模板文件结合,生成最终的输出,如HTML、XML或JSON。...
从最基础的讲起,快速理解FreeMarker工作原理,包括使用的基础语法和简单的project实例,希望初学者有较大收获。