Freemarker 可以通过macro 来定义一个组件(或者叫指令)。然后在需要的地方引用。
比如,想在每增加页面的地方设置一下当前页的title,类似于这样:
这样就可以定义一个名为title的组件,然后通过参数传入标题。
Formtitle.ftl代码:
<#--表单标题 -->
<#macro formTitle title="">
<script type="text/javascript"
src="platform/js/jquery.corner.js"></script>
<div id="toolbar" class="page_title">
<div id="page_title"style="float:left; margin-top:3px; margin-left:5px;">
<img src="platform/images/ico.png" />${title}</div>
<div align="right" id="btns" style="padding-right:10px">
<#nested/>
</div>
</div>
<div class="clear"/>
<script language="javascript">
$('#page_title').corner("5px");
</script>
</#macro>
其中 <#macro formTitle title=""> 表示定义该组件名为 formTitle ,有一个参数title默认值为"",其他的内容就按照美工的设计写就要可以了。
<#nested/> 表示可以嵌入代码,即可以在使用时嵌入其他的内容。
使用时:
<@formTitle title="用户增加">
</@formTitle>
<@formTitle title="用户增加">
这里是嵌入的内容,可以是HTML,也可以是freemarker 的内容。
</@formTitle>
看一下实际的效果图
posted on 2012-07-06 10:19
Libo 阅读(818)
评论(0) 编辑 收藏