badqiu
XPer
随笔 - 46, 文章 - 3, 评论 - 195, 引用 - 0
数据加载中……
扩展freemarker,实现模板的继承
现扩展freemarker,新增加三个指令: @extends,@block,@override
一.目的
父模板页面定义好布局,子模板可以重定义布局中的部分内容
使模板可以实现类似"类"的继承关系,并不限继承层次
二.继承概榄
父模板: base.ftl
<
html
>
<
head
>
<
@block
name
="head"
>
base_head_content
</
@block
>
</
head
>
<
body
>
<
@block
name
="body"
>
base_body_content
</
@block
>
</
body
>
</
html
>
子模板child.ftl
<
@override
name
="body"
>
<
div
class
='content'
>
Powered By rapid-framework
</
div
>
</
@override
>
<
@extends
name
="base.flt"
/>
子模板
child.ftl输出
<
html
>
<
head
>
base_head_content
</
head
>
<
body
>
<
div
class
='content'
>
Powered By rapid-framework
</
div
>
</
body
>
</
html
>
可以看到,body部分被重定义了,而head部分则还是显示父模板的内容。
三.指令介绍
@block : 定义块,可以被子模板用@override指令覆盖显示
@override : 覆盖@block指令显示的内容
@extends : 继承其它模板,必须放在模板的最后面(注:该指令完全等价于#include指令,只是为了提供统一的语义,即extends比include更好理解)
四.使用说明
要使用如上三个自定义指令,必须在freeemarker的Configuration中注册。使用如下代码:
configuration.setSharedVariable(
"
block
"
,
new
BlockDirective());
configuration.setSharedVariable(
"
override
"
,
new
OverrideDirective());
configuration.setSharedVariable(
"
extends
"
,
new
ExtendsDirective());
以上三个指令属于
rapid-framework
的扩展,后续新版本发布将包含该项扩展,敬请关注。具体指令源码请查看:
http://rapid-framework.googlecode.com/svn/trunk/rapid-framework/src/rapid_framework_common/cn/org/rapid_framework/freemarker/directive/
posted on 2009-12-22 23:47
badqiu
阅读(3769)
评论(1)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © badqiu
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
AJAX(4)
(rss)
随笔档案
2014年2月 (1)
2012年12月 (1)
2011年12月 (1)
2011年1月 (1)
2010年10月 (1)
2010年8月 (1)
2010年7月 (1)
2010年6月 (2)
2010年5月 (2)
2010年3月 (1)
2010年2月 (4)
2010年1月 (1)
2009年12月 (4)
2009年11月 (3)
2009年10月 (3)
2009年9月 (4)
2009年5月 (1)
2008年11月 (1)
2008年10月 (2)
2008年8月 (2)
2008年7月 (3)
2006年12月 (2)
2006年10月 (2)
2006年5月 (1)
2006年2月 (1)
文章分类
AJAX(1)
(rss)
文章档案
2007年8月 (1)
2007年7月 (1)
2006年10月 (1)
links
rapid-framework官方网站
(rss)
搜索
最新评论
1. re: 动态构造sql的利器:rapid-xsqlbuider详细说明
请问时间怎么查询
--林晓升
2. re: spring 3.0 应用springmvc 构造RESTful URL 详细讲解
评论内容较长,点击标题查看
--zuidaima
3. re: SOA架构的目的及价值
soa,esb是一个好的方式。
--lihuinihao
4. re: 工作中为什么不想听分享及不想分享?
好吧,我可能就是这样的人。
--垂直绿化
5. re: 工作中为什么不想听分享及不想分享?
博主好文章啊
--中山婚纱摄影
阅读排行榜
1. spring 3.0 应用springmvc 构造RESTful URL 详细讲解(28541)
2. spring REST中的内容协商(同一资源,多种展现:xml,json,html)(7616)
3. 基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼 (7410)
4. log4jdbc日志框架介绍(5287)
5. spring3.0的springmvc_rest及ibatis3的在线示例及demo下载,根据url查看不同格式的数据(5034)
评论排行榜
1. 扩展基于prototype的validation.js (40)
2. 基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼 (21)
3. 动态构造sql的利器:rapid-xsqlbuider详细说明(12)
4. 新版本发布:基于prototype的表单验证框架,现正式更加为rapid-validation-v1.0(11)
5. spring 3.0 应用springmvc 构造RESTful URL 详细讲解(9)