gpt4 book ai didi

freemarker - 从不同的文件调用 freemarker 宏

转载 作者:行者123 更新时间:2023-12-01 10:26:54 24 4
gpt4 key购买 nike

我有这样的情况。我有文件夹 a在里面我有a.ftl和文件夹 b .内文件夹bb.ftl .在 b.ftl我有 [#macro macroName param1]...[/#macro]如何从文件 a 调用宏?我有 Intellij 想法警告。我看到了这个链接https://intellij-support.jetbrains.com/hc/en-us/community/posts/206196939-Getting-Intellij-to-pick-up-Freemarker-macros所以我试图放置

[#-- @implicitly included --]
[#-- @ftlroot "" --]

a.ftl 的顶部但它不起作用。我正在研究 freemarker 文档 http://freemarker.org/docs/ref_directive_macro.html但是有一个例子只是从同一个文件中调用宏。

最佳答案

您可以使用 <#import "/b/b.ftl" as b> (其中最后一个 b 可以是任何变量名),然后您可以调用宏,如 <@b.macroName ...> .将常用的宏/函数/值放入模板 #import -ed 在其他模板中是常见的最佳实践。

您也可以使用<#include "/b/b.ftl">/a/a.ftl , 然后你就可以使用 <@macroName ...> (没有像 b. 这样的命名空间前缀)。 #include 的常见用例然而正在打印公共(public)输出,因为它执行整个 a.ftl ,每次都是#include -d。如果 a.ftl仅包含宏定义和其他可能无关紧要的分配。

导入和包含也可以在最顶层的模板中自动执行。为此,请参阅 auto_imports ( Configuration.setAutoImports ) 和 auto_includes ( Configuration.setAutoIncludes ) 配置设置。

另见:http://freemarker.org/docs/dgui_misc_namespace.html

关于freemarker - 从不同的文件调用 freemarker 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46787951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com