网上搜索一番还是没有搞定。
正确的做法应该是:
把所有宏变量放入一个ftl Lib文件里面,然后再freemarker.properties 里面加载这个lib就可以了。如:这个是lib.ftl。
<#macro btn_a name href icon="cog"> <!--a 标签类型按钮--> <a href="${href}" class="btn btn-default btn-sm"><i class="fa fa-${icon} fa-lg"></i> ${name}</a></#macro><#macro btn_b name onclick icon="cog"> <!--button 标签类型按钮--> <button onclick="${onclick}" type="button" class="btn btn-default btn-sm"><i class="fa fa-${icon} fa-lg"></i> ${name}</button></#macro><#macro container title titleIcon="list-alt"> <!--容器--> <div class="container-fluid"> <!-- 盒子开始 --> <div class="box"> <div class="box-title"> <h3> <i class="fa fa-${titleIcon!"list-alt"} fa-fw"></i>12312 </h3> </div> <!--内容--> <div class="box-content"> <#nested> </div> </div> </div></#macro>
freemarker 配置文件:
tag_syntax=auto_detect
template_update_delay=1
whitespace_stripping=true
default_encoding=UTF-8
output_encoding=UTF-8
locale=zh_CN
number_format=\#
classic_compatible=true
auto_import="/admin/include/lib.ftl" as t
这样就自动加载了。