网上搜索一番还是没有搞定。
正确的做法应该是:
把所有宏变量放入一个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
这样就自动加载了。