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 阅读(835) 
评论(0)  编辑  收藏