我有一组4个模板文件,所有文件都带有.rythm
扩展名,并且都存在于同一目录中。让我们称呼他们" Main.rythm"," Child1.rythm"," Child2.rythm"和" Helper.rythm&#34 ;。另外,我还在渲染Main之前将home.template.dir
设置为此目录。
在Helper模板中,我只有一堆@def
来做一些基本的常见格式化,这样我就不必回调一下我的java类或者弄乱实际的模板了不需要在那里的逻辑。
Main看起来像这样:
@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
,并从Rythm那里得到错误," Helper无法解析& #34;当我使用@Helper.foo(bunchOfData.getSomething())
时。
为了从Child1和Child2访问Helper中的这些@def
,我需要做什么?
答案 0 :(得分:1)
您不应该使用@import
,而是应该使用@include
。 @import
就像java中的import
指令一样,为此模板添加了一个包来引用。 @include
用于添加您可以在此模板中引用的其他模板。