- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FreeMarker手册课案
FreeMarker教程
第一篇 FreeMarker模板
模板文件
FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:?
文本:直接输出的部分?
注释:#-- ... --格式部分,不会输出?
插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出?
FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出?
下面是一个FreeMarker模板的例子,包含了以上所说的4个部分?
html?
head?
titleWelcome!/title?
/head?
body?
#-- 注释部分 --?
#-- 下面使用插值 --?
h1Welcome ${user} !/h1?
pWe have these animals:?
u1?
#-- 使用FTL指令 --?
#list animals as being?
?? li${} for ${being.price} Euros?
#list?
u1?
/body?
/html
第二篇 FreeMarker规则
FTL指令规则?
在FreeMarker中,使用FTL标签来使用指令,FreeMarker有3种FTL标签,这和HTML标签是完全类似的.?
开始标签:#directivename parameter?
结束标签:/#directivename?
空标签:#directivename parameter/?
实际上,使用标签时前面的符号#也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号.?
使用FTL标签时, 应该有正确的嵌套,而不是交叉使用,这和XML标签的用法完全一样.如果全用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息.FreeMarker会忽略FTL标签中的空白字符.值得注意的是 , / 和指令之间不允许有空白字符.?
插值规则?
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format}?
通用插值?
对于通用插值,又可以分为以下4种情况:?
插值结果为字符串值:直接输出表达式结果?
插值结果为数字值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值,如下面的例子:?
#settion number_format=currency/?
#assign answer=42/?
${answer}?
${answer?string} #-- the same as ${answer} --?
${answer?string.number}?
${answer?string.currency}?
${answer?string.percent}?
${answer}?
输出结果是:?
$42.00?
$42.00?
42?
$42.00?
4,200%?
插值结果为日期值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值,如下面的例子:?
${lastUpdated?string(yyyy-MM-dd HH:mm:ss zzzz)}?
${lastUpdated?string(EEE, MMM d, yy)}?
${lastUpdated?string(EEEE, MMMM dd, yyyy, hh:mm:ss a (zzz))}?
输出结果是:?
2008-04-08 08:08:08 Pacific Daylight Time?
Tue, Apr 8, 03?
Tuesday, April 08, 2003, 08:08:08 PM (PDT)?
插值结果为布尔值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值,如下面的例子:?
#assign foo=true/?
${foo?string(yes, no)}?
输出结果是:?
yes
数字格式化插值?
数字格式化插值可采用#{expr;format}形式来格式化数字,其中format可以是:?
mX:小数部分最小X位?
MX:小数部分最大X位?
如下面的例子:?
#assign x=2.582/?
#assign y=4/?
#{x; M2} #-- 输出2.58 --?
#{y; M2} #-- 输出4 --?
#{x; m2} #-- 输出2.6 --?
#{y; m2} #-- 输出4.0 --?
#{x; m1M2} #-- 输出2.58 --?
#{x; m1M2} #-- 输出4
您可能关注的文档
- 共度重阳佳节,同承敬老美德.ppt
- 兰州银行反假币培训.pptx
- 共模和差模信号的定义及产生机理.doc
- Flash基础概念.ppt
- 共混改性理论2课件.ppt
- 共创和谐美满婚姻与家庭课件.ppt
- flex布局全解析课案.doc
- 共混改性理论3课件.ppt
- 兰德华3000巡查者应用案例课件.ppt
- Flex-留言板设计系统大作业.doc
- 甘肃省天祝藏族自治县整理《一级注册建筑师之建筑物理与建筑设备》资格考试必刷100题真题【培优B卷】.docx
- 甘肃省宁县2023-2024年《一级注册建筑师之建筑物理与建筑设备》资格考试必刷100题王牌题库及答.docx
- 甘肃省宁县2023-24年《一级注册建筑师之建筑物理与建筑设备》考试必背100题内部题库(名师推荐).docx
- 甘肃省宁县2023-2024年《执业药师之西药学专业二》资格考试完整版含答案(考试直接用).docx
- 甘肃省天祝藏族自治县《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题通关秘籍题库及答案【历.docx
- 甘肃省天祝藏族自治县2024年《一级注册建筑师之建筑物理与建筑设备》考试必刷100题题库大全及参考答.docx
- 甘肃省天祝藏族自治县2024年《一级注册建筑师之建筑物理与建筑设备》考试必背100题完整版含答案(培.docx
- 甘肃省天祝藏族自治县完整版《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题大全【满分必刷】.docx
- 甘肃省天祝藏族自治县完整版《一级注册建筑师之建筑物理与建筑设备》资格考试必背100题大全【满分必刷】.docx
- 甘肃省宁县2023-24年《质量员之设备安装质量基础知识》考试必背100题题库(培优).docx
文档评论(0)