`
从此醉
  • 浏览: 1061822 次
  • 性别: Icon_minigender_1
  • 来自: US
社区版块
存档分类
最新评论

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>
  • 分享到:
    评论

    相关推荐

      FreeMarker基础语法

      FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法 FreeMarker基础语法

      freemarker基本语法整理

      Freemarker 基本语法整理 作为一款流行的模板引擎,Freemarker 在 Struts2 框架中扮演着重要的角色。本文将对 Freemarker 的基本语法进行整理,涵盖输出、逻辑判断、循环遍历、宏等方面的知识点。 输出 在 ...

      FreeMarker模板基本语法

      FreeMarker模板基本语法

      freemarker(FTL)常见语法大全

      freemarker(FTL)常见语法大全,讲解ftl中的常见语法。

      FreeMarker语法参考

      FreeMarker的基本语法,从官方文档翻译的!

      freemarker(语法+实例)

      这些是Freemarker的基础和进阶知识点,涵盖了从基础语法到实际应用的多个方面。通过学习和理解这些内容,开发者能够更好地利用Freemarker来构建动态网页和应用程序。实际开发中,熟练掌握这些技巧将大大提高工作效率...

      freemarker语法完整版.doc

      Freemarker语法完整版 Freemarker是基于模板的生成技术,可以根据给定的数据模型生成动态的文本输出。在Freemarker中,存在五种基本概念:Scalars、Hashes、Sequences、Collection Variables和Methods。 1. ...

      freemarker 语法基础(转).

      freemarker 语法基础(转)

      freemarker语法完全总结

      熟练掌握这些基础语法,开发者就能有效地创建复杂的模板,实现与后端数据的动态交互,为用户提供定制化的视图体验。在实际应用中,结合具体项目需求,不断实践和探索,可以进一步提升FreeMarker的使用技巧。

      FreeMarker语法知识

      FreeMarker语法知识,该文档里面详细的描述了FreeMarker的基本语句和一些示例

      freemarker语法完成版

      Freemarker是一个强大的模板引擎,常用于Web开发中动态生成HTML或其他类型的文本。它使用自己的模板语言FTL(FreeMarker Template Language...理解这些基本概念和语法,能帮助开发者高效地使用Freemarker创建动态模板。

      freemarker_NPP:通过用户定义的语言文件为 FreeMarker for Notepad++ 提供语法高亮显示

      FreeMarker_NPP - 用于 Notepad ++ 的 FreeMarker 基本语法高亮显示是的用户定义语言,它为模板语言提供基本的语法突出显示。 FreeMarker_NPP 在下获得(请参阅 license.txt 文件) ##安装确保您安装了并带有使用 ...

      FreeMarker模板文件的组成及基本语法详解(一)

      FreeMarker模板文件的组成及基本语法详解 FreeMarker模板文件由四部分组成:文本、注释、插值和FTL指令。文本是直接输出的部分,注释是以#--开头的格式部分,不会输出。插值是以${...}或#{...}格式的部分,将使用...

      freemarker语法

      本文将详细介绍FreeMarker的基本语法,包括序列(sequence)、键值对(hash)、命名空间(namespace)以及控制结构(if/else、switch、list)和包含(include)指令。 1. **序列(Sequence)**: 在FreeMarker中,...

      Freemarker中文实例学习教程word版非常实用

      以下是对Freemarker基本语法和特性的详细说明: 1. **基本语法结构**: - `&lt;#...&gt;`:这是Freemarker模板的主要内容,其中包含所有Freemarker指令和表达式。模板外部的内容会被原样输出。 - `&lt;@.../&gt;`:用于调用...

      FreaMarker使用手册

      下面将详细介绍 FreeMarker 的思想、基本语法、内置函数等相关知识点。 一、FreeMarker 思想 FreeMarker 的思想是基于模板语言的,模板语言是一种特殊的编程语言,用于生成文本输出。FreeMarker 模板语言的主要...

      Freemarker-2.3.8.jar、urlrewrite-2.6.0.jar

      Freemarker的jar包是动态网页静态化的必备jar包,静态化的工作基本上都是由他来完成的,如果没有他,你就不用往下看了,打魔兽去吧。Urlrewrite的jar包是用来解决将动态的网页静态化之后的传参问题的。freemarker-...

      freemarker学习

      在初次接触FreeMarker时,了解其基本概念、语法和使用场景至关重要。 **FreeMarker的工作原理:** FreeMarker的工作方式是将数据模型(通常来自后台Java代码)与模板文件结合,生成最终的输出,如HTML、XML或JSON。...

      新手理解FreeMarker的Project

      从最基础的讲起,快速理解FreeMarker工作原理,包括使用的基础语法和简单的project实例,希望初学者有较大收获。

    Global site tag (gtag.js) - Google Analytics