Macro variable stores a template fragment that can be used as user-defined directive. The variable also stores the name of allowed parameters to the user-defined directive. You must give value for all of those parameters when you use the variable as directive, except for parameters that has a default value. The default value will be used if and only if you don't give value for the parameter when you call the macro.
How-To
Here has two examples:
<#-- 取得現在時間 --> <#assign aDateTime = .now> <#-- 只保留日期 --> <#assign aDate = aDateTime?date> <#-- create the macro variable: --> <#macro printDate mingguodate> 列印日期:${mingguodate} </#macro> <#macro footer records amount> ${"-"?right_pad(25, "-")} 總筆數:${records} 總金額:${amount} </#macro> <#-- call the macro: --> <@printDate mingguodate="${aDate?string.@mingguo}" /> <#assign total = 0> ${"水果名稱"?right_pad(10)}${"單價"?right_pad(10)}${"訂購數量"?right_pad(10)} ${"-"?right_pad(25, "-")} <#list rows as row> <#assign total += row.price * row.quantity> ${row.name?right_pad(10)}${row.price?string.@ntd?left_pad(10)}${row.quantity?left_pad(10)} </#list> <#-- call the macro: --> <@footer records="${rows?size?left_pad(10)}" amount="${total?string.@ntd?left_pad(10)}" />
No comments:
Post a Comment