- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FREEMAKE语法介绍
1.变量初始化标签
语法
#assign x=5
显示变量
${x}
显示结果为:
5
2.条件判断标签
#assign age=60
#if (age=60)
你老了
#else
你还年轻
/#if
显示结果为:
你老了
3.循环标签
list可以java的List对象,list可以放置中可以放置任意java对象。
我们新建一个Pesson对象。
class person {
private String name;
private int age;
setter;getter;省略
}
List list=new ArrayList();
Person p=new Person(“张山”,20);
list.add(p);
p=new Person(“李四”,23);
#list list as person
姓名:${person.getName()},年龄:${person.getAge();}
/#list
也可以如下写法:
#list list as person
姓名:${person.name},年龄:${person.age}
/#list
如果传入的是Map对象可以使用键值进行访问,测试代码如下:
List list=new ArrayList();
Map m=new HashMap();
m.put(name,张山);
m.put(age,20);
list.add(m);
m=new HashMap();
m.put(name,李四);
m.put(age,25);
list.add(m);
标签写法:
#list list as person
姓名:${person.name},年龄:${person.age}
/#list
如果需要在模版中输出 ${x},相关的模版如何写呢?
模版写法:
${r${x}}
在引号或单引号之前加r输出原生字符串。
4.序列访问
指定一个文字的序列,使用逗号来分隔其中的每个子变量,然后把整个列表放到方括号
中。例如:
#list [winter, spring, summer, autumn] as x
${x}
/#list
将会打印出:
winter
spring
summer
autumn
5.算术运算
算数运算包含基本的四则运算和求模运算,运算符有:
加法:+
减法:-
乘法:*
除法:/
求模(求余):%
${100 – x*x}
${x/2}
${12%10}
假设x 是5,就会打印出:
75
2.5
2
6.获取数字整数部分
通常来说,FreeMarker 不会自动将字符串转换为数字,反之会自动进行。
有时我们只想获取计算结果的整数部分,这可以使用内建函数int 来解决。
${(x/2)?int}
${1.1?int}
${1.999?int}
${-1.1?int}
${-1.999?int}
仍然假设x 的值是5,那么将会输出:
2
1
1
-1
-1
7.比较运算
测试两个值相等使用=(或者采用Java 和C 语言中的==,二者是完全等同的。)
测试两个值不等使用!=。例子中假设user 是”Big Joe”。
#if user = Big Joe
It is Big Joe
/#if
#if user != Big Joe
It is not Big Joe
/#if
对数字和日期类型的比较,也可以使用,=,=和。不能把它们当作字符串来比
较。
#if x = 12
x is less or equivalent with 12
/#if
8.逻辑操作
常用的逻辑操作符:
??逻辑或:||
??逻辑与:
??逻辑非:!
逻辑操作符仅仅在布尔值之间有效,若用在其他类型将会产生错误导致模板执行中止。
例如:
#if x 12 color = green
We have less than 12 things, and they are green.
/#if
#if !hot #-- here hot must be a boolean --
Its not hot.
/#if
9.Freemaker内键函数
正如其名,内建函数提供始终可用的内置功能。内建函数以?形式提供变量的不同形式
或者其他信息。使用内建函数的语法和访问哈希表子变量的语法很像,除了使用?号来代替
点,其他的都一样。例如得到字符串的大写形式:user?upper_case。
在参考文档中可以查到所有内建函数的资料。现在,我们只需了解一些重要的内建函数
就行了。
??字符串使用的内建函数:
??html: 字符串中所有的特殊HTML 字符都需要用实体引用来代替(比如代
替lt;)。
??cap_first:字符串的第一个字母变为大写形式
?
文档评论(0)