Freemarker:包含和导入之间的区别?

时间:2016-03-02 07:28:46

标签: freemarker

我正在尝试创建两个模板,并在另一个模板中使用一个.ftl(freemarker)文件的变量。

我真的不明白为什么我应该使用include vs import

1 个答案:

答案 0 :(得分:14)

#include非常类似于将所包含文件的内容复制粘贴到#include标记的位置。 #import也处理目标文件,但不输出任何内容。相反,它将导入模板创建的变量集(命名空间)分配给as关键字后面的变量。由于#macro - s和#function - s只是创建变量,#import对于引入实用程序宏和函数的集合是实用的。另请注意,#import - 第二次使用同一文件不会做任何事情(因为命名空间只填充一次),而调用#include两次会处理目标文件两次。

对于JavaScript,FreeMarker在服务器端运行,JavaScript在浏览器中运行。因此浏览器只能看到FreeMarker的最终输出。