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 閱讀(824)
評論(0) 編輯 收藏