没有合适的资源?快使用搜索试试~ 我知道了~
首页FreeMarker教程pdf版
FreeMarker教程pdf版
需积分: 50 13 下载量 140 浏览量
更新于2023-03-16
评论
收藏 271KB PDF 举报
不错的FreeMarker教程,FreeMarker的模板文件并不比HTML页面复杂多少:文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出
资源详情
资源评论
资源推荐
FreeMarker 的模板文件并不比 HTML 页面复杂多少,FreeMarker 模板
文件主要由如下 4 个部分组成:
1,文本:直接输出的部分
2,注释:<#-- ... -->格式部分,不会输出
3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替
代输出
4,FTL 指令:FreeMarker 指定,和 HTML 标记类似,名字前加#予以区分,
不会输出
下面是一个 FreeMarker 模板的例子,包含了以上所说的 4 个部分
<html><br>
<head><br>
<title>Welcome!</title><br>
</head><br>
<body><br>
<#-- 注释部分 --><br>
<#-- 下面使用插值 -->
<h1>Welcome ${user} !</h1><br>
<p>We have these animals:<br>
<u1><br>
<#-- 使用 FTL 指令 -->
<#list animals as being><br>
<li>${being.name} for ${being.price} Euros<br>
<#list><br>
<u1><br>
</body><br>
</html>
1, FTL 指令规则
在 FreeMarker 中,使用 FTL 标签来使用指令,FreeMarker 有 3 种 FTL
标签,这和 HTML 标签是完全类似的.
1,开始标签:<#directivename parameter>
2,结束标签:</#directivename>
3,空标签:<#directivename parameter/>
实际上,使用标签时前面的符号#也可能变成@,如果该指令是一个用
户指令而不是系统内建指令时,应将#符号改成@符号.
使用 FTL 标签时,应该有正确的嵌套,而不是交叉使用,这和 XML 标签
的用法完全一样.如果全用不存在的指令,FreeMarker 不会使用模板
输出,而是产生一个错误消息.FreeMarker 会忽略 FTL 标签中的空白
字符.值得注意的是< , /> 和指令之间不允许有空白字符.
2, 插值规则
FreeMarker 的插值有如下两种类型:1,通用插值${expr};2,数字格式
化插值:#{expr}或#{expr;format}
2.1 通用插值
对于通用插值,又可以分为以下 4 种情况:
1,插值结果为字符串值:直接输出表达式结果
2,插值结果为数字值:根据默认格式(由#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%
3,插值结果为日期值:根据默认格式(由#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)
4,插值结果为布尔值:根据默认格式(由#setting 指令设置)将表达式
结果转换成文本输出.可以使用内建的字符串函数格式化单个插值,
如下面的例子:
<#assign foo=true/>
${foo?string("yes", "no")}
输出结果是:
yes
2.2 数字格式化插值
数字格式化插值可采用#{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.0 -->
3, 表达式
表达式是 FreeMarker 模板的核心功能,表达式放置在插值语法${}之
中时,表明需要输出表达式的值;表达式语法也可与 FreeMarker 标签
结合,用于控制输出.实际上 FreeMarker 的表达式功能非常强大,它
不仅支持直接指定值,输出变量值,也支持字符串格式化输出和集合
访问等功能.
3.1 直接指定值
使用直接指定值语法让 FreeMarker 直接输出插值中的值,而不是输
出变量值.直接指定值可以是字符串,数值,布尔值,集合和 MAP 对象.
1,字符串
直接指定字符串值使用单引号或双引号限定,如果字符串值中包含特
殊字符需要转义,看下面的例子:
${"我的文件保存在 C:\\盘"}
${'我名字是\"annlee\"'}
输出结果是:
我的文件保存在 C:\盘
我名字是"annlee"
剩余58页未读,继续阅读
navysails
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0