freemarker宏的使用,把它独立一个单独的文件
<#-- 根据枚举类型列表输出枚举值的中文描述 -->
<#macro displayText enumItems value defaultOutput="">
<#compress>
<#assign output=false>
<#list enumItems as x>
<#if "${(x.value)!''}" == "${value}" >
${(x.text)!''}
<#assign output=true>
<#break>
</#if>
</#list>
<#-- 没找到值,输入默认值 -->
<#if !output>
${defaultOutput!''}
</#if>
</#compress>
</#macro>
<#-- 引入宏 -->
<#include "/macros/macros.ftl">
在模板上使用宏
<#if (paginator.contents)?has_content>
<#list paginator.contents as o>
<tr>
<td>
<@displayText enumItems=orderStatusValues value=o.status />
<#if o.dateRefunded?has_content>
<br>
<span class="text-muted text-sm">${o.dateRefunded?string("yyyy-MM-dd hh:mm")}</span>
</#if>
</td></tr></#list></#if>
本文介绍了一种在Freemarker中使用宏的方法,通过将宏定义为独立文件来简化模板代码。具体展示了如何根据枚举类型列表输出中文描述,并在实际模板中调用宏以显示订单状态。

被折叠的 条评论
为什么被折叠?



