gpt4 book ai didi

java - 如果由父模板调用,Rythm 无法 @import 模板

转载 作者:行者123 更新时间:2023-12-02 12:19:44 26 4
gpt4 key购买 nike

我有一组 4 个模板文件,所有文件都带有 .rythm 扩展名,并且都位于同一目录中。我们将它们称为“Main.rythm”、“Child1.rythm”、“Child2.rythm”和“Helper.rythm”。此外,我还在渲染 Main 之前将 home.template.dir 设置为此目录。

在 Helper 模板中,我只有一堆 @def 来执行一些基本的常见格式化,这样我就不必回调我的 java 类或弄乱实际的带有不需要存在的逻辑的模板。

主要看起来像这样:

@args {
String aString,
MyClass bunchOfData,
String anotherString
@//...
}
@import("Helper")
There's some formatting here, using @aString
There's some formatting using an @def in Helper, like @foo(anotherString)

@Child1(bunchOfData)

@Child2(bunchOfData)

Child1 和 Child2 彼此相似,看起来像这样:

@args MyClass bunchOfData
@import("Helper")
@{
//Some preformatting stuff here
}
Make a lot of method calls on @bunchOfData, some of which will also use an @def or two in Helper

我的问题是我在 Child1 的 @import("Helper") 行上遇到错误:

Exception in thread "main" org.rythmengine.exception.CompileException: Syntax error on token "import", delete this token

Template: /path/to/templates/Child1.rythm

我尝试注释掉 @import,但后来我无法真正调用那些 @def,并且从 Rythm 收到错误“Helper 不能当我使用 @Helper.foo(bunchOfData.getSomething()) 时已解决”。

我需要做什么才能从 Child1 和 Child2 访问 Helper 中的这些 @def

最佳答案

您不应该使用@import,而应该使用@include@import 就像java中的import指令一样,添加一个包供该模板引用。 @include 用于添加您可以在整个模板中引用的其他模板。

关于java - 如果由父模板调用,Rythm 无法 @import 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867429/

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