首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果由父模板调用,Rythm不能@import模板

如果由父模板调用,Rythm不能@import模板
EN

Stack Overflow用户
提问于 2017-08-25 01:12:10
回答 1查看 52关注 0票数 0

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

在Helper模板中,我只有一堆@def,它们执行一些基本的通用格式化,这样我就不必回调我的java类,或者用不需要的逻辑来打乱实际的模板。

Main看起来像这样:

代码语言:javascript
复制
@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彼此相似,看起来像这样:

代码语言:javascript
复制
@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中得到了一个错误:

代码语言:javascript
复制
Exception in thread "main" org.rythmengine.exception.CompileException: Syntax error on token "import", delete this token

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

我试着注释掉@import,但是我不能真的调用那些@defs,并且在我使用@Helper.foo(bunchOfData.getSomething())时从Rythm得到"Helper out be resolved“的错误。

要从Child1和Child2访问助手中的这些@def,我需要做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-25 01:19:29

你不应该使用@import,而应该使用@include@import就像java中的import指令,为这个模板添加了一个引用的包。@include用于添加附加模板,您可以在整个模板中引用这些模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45867429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档