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

Posted

技术标签:

【中文标题】Freemarker:包含和导入之间的区别?【英文标题】:Freemarker: difference between include and import? 【发布时间】:2016-06-14 22:29:10 【问题描述】:

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

我真的不明白为什么我应该使用includeimport

【问题讨论】:

<#include> & <#import> 【参考方案1】:

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

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

【讨论】:

以上是关于Freemarker:包含和导入之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

StringTemplate 和 FreeMarker 之间的主要区别是啥?

Java 使用 freemarker 模板引擎的相关疑问 ,求大神走过路过不要错过

之间的区别?? , has_content , if_exists 在 freemarker

Freemarker的使用方法

使用 USCavalry 转换器将 Velocity 模板转换为 FreeMarker

freemarker 2.3.21 和 freemarker 2.3.26-incubating 有啥区别