2014-09-30 73 views
2

我想在FTL中包含一个宏文件。根据我对框架的理解,如果我们在xml中使用标记包含宏文件并在此xml中呈现FTL,则定义的宏应该可以在Freemarker模板中自动使用。但这不适合我。无法在FTL中包含宏文件

此外,我试图通过提供绝对和相对路径来使用<#import><#include>标签在FTL自身中包含宏文件。无论哪种方式是行不通的。

请建议什么应该是最好的方式来做到这一点。

感谢

+0

你能发布一段代码,你已经尝试过,并没有工作吗? – Jeroen 2014-09-30 07:52:34

+0

而不是“不工作”,你可以告诉错误信息是什么。 – ddekany 2014-09-30 19:52:38

回答

0

如果你想在FTL文件添加宏刚导入目标FTL文件中的宏文件,并呈现在屏幕上的目标FTL文件。下面是一个简单的例子

创建于webroot/screen/includes/MacroExample.ftl

<#macro macroExample> 
    This is a macro example 
</#macro> 

导入宏FTL文件中Header.html.ftl

<#import "MacroExample.ftl" as m> <#-- If the macro file in different directory you can use the relative path --> 
<@m.macroExample/> 

Header.html.ftlwebroot.xml文件由下面的代码

渲染的文件
<render-mode> 
    <text type="html" location="component://webroot/screen/includes/Header.html.ftl"/> 
</render-mode> 

现在macroExample将在标题中可见。这是一个正常的例子。你可以按照这一步来工作。