我有一组 4 个模板文件,都带有.rythm
扩展名,并且都位于同一个目录中。我们称它们为“Main.rythm”、“Child1.rythm”、“Child2.rythm”和“Helper.rythm”。此外,我还在home.template.dir
渲染 Main 之前将 设置为该目录。
在 Helper 模板中,我只有一堆@def
s 来执行一些基本的通用格式设置,这样我就不必回调我的 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
我的问题是@import("Helper")
在线上的 Child1 出现错误:
Exception in thread "main" org.rythmengine.exception.CompileException: Syntax error on token "import", delete this token
Template: /path/to/templates/Child1.rythm
我已经尝试注释掉@import
,但是我不能真正调用那些@def
s,并且当我使用@Helper.foo(bunchOfData.getSomething())
.
为了@def
从 Child1 和 Child2 访问 Helper 中的这些 s,我需要做什么?