您的位置:首页 > 其它

Freemarker使用之自定义指令

2016-05-29 14:54 281 查看
 macro , nested , return指令

macro可以用于实现自定义指令,通过使用自定义指令,可以将一段模板片段定义成一个用户指令,使用macro指令的语法格式如下:

<#macro name param1 param2 … paramN>
…
<#nested loopvar1, loopvar2, …, loopvarN>
…
<#return>
…
</#macro>


在上面的格式片段中,包含了如下几个部分:

name:该属性指定的是该自定义指令的名字,使用自定义指令时可以传入多个参数

paramX:该属性就是指定使用自定义指令时报参数,使用该自定义指令时,必须为这些参数传入值

nested指令:nested标签输出使用自定义指令时的中间部分

nested指令中的循环变量:这此循环变量将由macro定义部分指定,传给使用标签的模板

return指令:该指令可用于随时结束该自定义指令.

<#macro book booklist>     //定义一个自定义指令booklist是参数
<#list booklist as book>
${book}
</#list>
</#macro>
<@book booklist=["spring","j2ee"] />   //使用刚刚定义的指令


或者:

页面1

<#macro page title>
<html>
<head>
<title>FreeMarker示例页面 – ${title?html}</title>
</head>
<body>
<h1>${title?html}</h1>
<#nested>      //用于引入用户自定义指令的标签体
</body>
</html>
</#macro>


页面2

<#include "/_layout.html"/>//引入第一个页面
<@page title="book list">//这里是上面定义的标签,传参给自定义标签
<!--下面这些是标签体-->
<u1>
<li>spring</li>
<li>j2ee</li>
</ul>
</@page>


更多>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  freemarker