auto_import正确批量加载freemarker宏定义的方法

前几天自己写freemarker的宏的时候,总是加载不上宏标签

网上搜索一番还是没有搞定:

正确的做法应该是:

把所有宏变量放入一个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


这样就自动加载了。





你可能感兴趣的:(freemaker)