没有合适的资源?快使用搜索试试~ 我知道了~
Freemarker中文实例学习教程word版非常实用
5星 · 超过95%的资源 需积分: 9 30 下载量 55 浏览量
2010-09-06
23:51:16
上传
评论
收藏 590KB DOC 举报
温馨提示
试读
64页
全中文Freemarker帮助手册,我也是在网上找的,只是想弄点分,为以后下载用,希望能得到广大网友支持!
资源推荐
资源详情
资源评论
freemaker 的基本语法
的基本语法
中存放所有 的内容,之外的内容全部原样输出。
是函数调用
两个定界符内的内容中,第一个符号表示指令或者函数名,其后的跟随参数。
提供的控制包括如下:
条件判断
遍历 表或者
( 称作 )的成员
宏,无返回参数
函
数,有返回参数
!用函数对 进行转换, 称为
"。实际内部实现类似 #!
$%&'()取子字符串,类似 $ $%#'#(!
*+,#+,-直接定义一个 表
&.##)直接定义一个序列
.&+.)存取 表中 + 对应的元素
.&/)存取序列指定下标的元素
.调用函数
..0.
+调用宏,并处理宏的嵌套
$1定义变量并初始化
1在或者中定义局部变量并
初始化
$1定义全局变量并初始化
2*-输出并替换为表达式的值
3调用 匹配 3 本身及其子节点
3调用 匹配 3 的子节点
FreeMaker 一篇通[【转】
一篇通【转】
一篇通
1
前言
是一个强大的模板引擎,相比 而言,其强大的过程调
用、递归和闭包回调功能让 可以完成几乎所有我们所想的功能。从
个人看法而言, 完全有能力作为 的代码辅助生成工具。
本文试图越过传统的概念性介绍,通过一组例子直接把读者带入到
应用的较高层阶。
正文
大家看文章标题就应该知道,我想用一篇文章,把大家从对 的陌生
直接带入到比较深入的境界,所以不想说一些基础性的东西,如果大家不习惯
我的表达方法,大可通过 去找习惯于自己阅读方式的相关文章。
我用过 ,最近才用 ,才知道我以前的选择是错了,因为
不支持过程的调用,所以我为 增加了很多的东西,写了很多
代码,而且脚本也累赘得要命。 首先吸引我的是它强大的过程调用
和递归处理能力,其次则是 风格的语法结构有着明显的边界,不象
要注意段落之间要留空格。所以我建议大家直接使用 ,虽
然 没有 版本,我想不嵌入程序中使用的话, 是绝
对的首选。(题外话,谁有兴趣移植一个 !?)
在使用之前我们先要设置运行环境,在使用 的时候,我们需要下载
相关的程序:
"#$$%& $
##"#$$##%& $
其中 ## 是一个 的辅助工具,有了它,我们可以实现更多的功
能。以下例子必须 ## 辅助。
这里我们首先提出问题。大家看如下的一个 文件,虽然 的能力
不仅在于处理 文件,但是用 作为例子更直观一些:
'(% )** + ),-,(.
'#% %%),"#$$////$$012" % ,
%),& &1%+,.
33333333'# ),4#,.
333333333333'-%.
3333333333333333'- ),5"6!,&),投保单,$.
333333333333'$-%.
333333333333'7+ ),+,#),,-& +),,
&-& +),,.
3333333333333333'-%.
2
33333333333333333333'- ),5"6!,&),投保单 8,$.
3333333333333333'$-%.
333333333333'$7+.
333333333333'7+ ),+,#),2 ,-& +),,
&-& +),9,$.
333333333333'7+ ),+,#),8 ,-& +),,
&-& +),9,$.
333333333333'7+ ),+:,#),4#,-& +),,
&-& +),9,.
3333333333333333'# ),4#,.
33333333333333333333'7+ ),+,#),2 ,-& +),,
&-& +),9,$.
33333333333333333333'7+ ),+,#),8 ,-& +),,
&-& +),9,$.3333
3333333333333333'$#.
333333333333'$7+.
333333333333'7+ ),+;,#),8 %& <+&,
-& +),,&-& +),9,$.
33333333'#.
33333333'# ),4#,.
333333333333'7+ ),+,#),4#,-& +),,
&-& +),9,$.
33333333'$#.
3333'$#%.
代码 =
我们的任务是把这个文件转化为相应的 6>代码。大家先看转换模板的代码:
'> %?#7%)@, %,,& &1%+,A.
'>定义 %#,以便在以下代码中使用B注意, 指令必须使
用单独的行 .
'C##%D&#&E + + ),-,$.'>使用 ## 提
供的函数来设置输出编码 .
:
;'>&%+.'>根入口,代码 部分的 存放在变量 +
中,+ 变量的填充由 ## 根据 7## 中的配置进行 .
F
'>, %#%,.'>% 风格的匹配处理入口 .
'>&%.'>直接进行 #% 节点内的匹配 .
'$>.
'>, %#,.'>匹配 # 节点 .
%%G@ +C A'>其中 + 是保留字,表示当前节点,引
3
用的C 是 % 风格 .
@
:33'>&%.'>继续匹配 .
;A
F'$>.
'>, %7+,.
33#&-G@ +C#AG@ +C AH
'$>.
'>C .'>所有没有定义匹配的节点到这里处理 .
'$>.
:
;
代码 =
我们使用的配置文件设置如下:
%&I%
&#&I&
##
+%
#J $99$99B%&$99K
3333&J9K
J#%$99B#LB99$9B$99B9L%K
=
E % %
%&E + -
+@
+JK
A
代码 =
然后我们在 +% 模式下运行指令:
EM/M-%M.M+/ +MM##M- M##
最后的输出结果是这样的,存放在文件 &M中:
3333%%4#
3333@
33333333#&-+H
33333333#&-2 +H
4
33333333#&-8 +H
33333333#&-4#+:H
33333333#&-+;H
3333A
3333%%4#
3333@
33333333#&-4#+H
3333A
代码 :=
先来解释一下 的基本语法了,
'>.中存放所有 的内容,之外的内容全部原样输出。
'C$.是函数调用
两个定界符内的内容中,第一个符号表示指令或者函数名,其后的跟随参
数。 提供的控制包括如下:
'> + .'>% + .'>%.'$>.条件判断
'>%"%"??%N%.'$>%.遍历 "%" 表或者
( 称作 %N& )的成员
'> ##.'> %+#.'$>.
宏,无返回参数
'>& ##.'>& .'$>& .函
数,有返回参数
(-?& JK用函数对 进行转换, 称为 -&+
%。实际内部实现类似 -?& JBK
% !=取子字符串,类似 %&-% J% BB!K
@&B&A直接定义一个 "%" 表
BB=直接定义一个序列
"%"=存取 "%" 表中 对应的元素
%N;=存取序列指定下标的元素
'C& ##$.调用函数 &
'C##H %?# %?#.
%?-+'$C.调用宏,并处理宏的嵌套
'>%% )&.定义变量并初始化
'>)&.在 或者 & 中定义局部变量并初始化
'>-)&.定义全局变量并初始化
G@A输出并替换为表达式的值
'>% +.调用 匹配 + 本身及其子节点
'>&% +.调用 匹配 + 的子节点
表 =
5
剩余63页未读,继续阅读
资源评论
- zhaoguijun2012-05-28由于是初学,所以这种教程还是很适合初学者的!
- wq70222012-11-19写的很写详细,谢谢了!
- wangxiaolong8862017-11-03感觉非常不错,多谢!
huguoling1122
- 粉丝: 21
- 资源: 62
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功