Freemarker是很好用的模板引擎。今天被一个小小的if...else...控制结构的写法困扰了很久,原来在freemaker里这个控制结构和JSTL还不一样,不了解的话还真是个问题。虽然freemarker的tag用的也是类似xml的尖括号,但是它并不遵守每个标签都要封口的规则。
选择结构if...else...
<#if condition>
...
<#elseif condition2>
...
<#elseif condition3>
...
<#else>
...
</#if>
只有一个if的情况:
<#if x = 1>
x is 1
</#if>
包含elseif的情况:
<#if x = 1>
x is 1
<#elseif x = 2>
x is 2
<#elseif x = 3>
x is 3
</#if>
包含else的用法:
<#if x = 1>
x is 1
<#elseif x = 2>
x is 2
<#elseif x = 3>
x is 3
<#elseif x = 4>
x is 4
<#else>
x is not 1 nor 2 nor 3 nor 4
</#if>
switch...case...default...
<#switch value>
<#case refValue1>
...
<#break>
<#case refValue2>
...
<#break>
<#case refValueN>
...
<#break>
<#default>
...
</#switch>
类似Java的普通用法:
<#switch being.size>
<#case "small">
This will be processed if it is small
<#break>
<#case "medium">
This will be processed if it is medium
<#break>
<#case "large">
This will be processed if it is large
<#break>
<#default>
This will be processed if it is neither
</#switch>
不使用break的方法,即在case中进行判断:
<#switch x>
<#case x = 1>
1
<#case x = 2>
2
<#default>
d
</#switch>
循环迭代结构<#list sequence as item>
...
</#list>
迭代的同时会生成两个变量:
item_index,
item_has_next,意如其名:
<#assign seq = ["winter", "spring", "summer", "autumn"]>
<#list seq as x>
${x_index + 1}. ${x}<#if x_has_next>,</#if>
</#list>
也可以用break跳出循环,用法和switch语句中的方法类似。
分享到:
相关推荐
freemarker(FTL)常见语法大全,讲解ftl中的常见语法。
shiro freemarker整合 使用权限控制
FreeMarker,FreeMarker
freemarker常用标签整理,struts2+freemarker做表现层应用,flt中freemarker写法
安装freemarker插件(freemarker的eclipse插件) a) 首先下载 freemarker-ide-0.9.14.zip(在这里不用下载了,附件中已经有了) b) 解压后:把hudson.freemarker_ide_0.9.14这个文件放到:eclipse\plugins下面 c) 发现...
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
FreeMarker
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
freemarker freemarker freemarker freemarker freemarker freemarker freemarker freemarker
freemarker\Freemarker教程_中文版
一篇freemarker很不错的文章 reeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用...
freemarker格式化的eclipse插件。用于freemarker的格式化。
Freemarker 实例,Freemarker 实例Freemarker 实例,Freemarker 实例
freemarker替换变量实例
FreeMarker手册-Freemarker 2.3.18。。。。。。。。。。。。。。。。。
camel-freemarker-1.6.4.jar, camel-freemarker-2.8.1.jar, com.springsource.freemarker-2.3.15.jar, com.springsource.freemarker-sources-2.3.15.jar, freemarker-1.4.1.jar, freemarker-2-3-18.jar, freemarker-...
FreeMarker中文文档.pdf FreeMarker入门必修
FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16
NULL 博文链接:https://zhenghuazhi.iteye.com/blog/1923544
freemarker的使用Demo,非常适用于freemarker初学,可与struts2结合使用。