Scala 如何在Play Framework中包含任何目录中的父模板

Scala 如何在Play Framework中包含任何目录中的父模板,scala,playframework-2.0,Scala,Playframework 2.0,当我有子模板,例如index.scala.html和父模板main.scala.html时,我使用代码包括父模板: @main("MyApp") {} @views.main("MyApp") {} 此模板已正确包含。但当我将index.scala.html移动到目录中时,例如Location并尝试使用代码包含父模板时: @main("MyApp") {} @views.main("MyApp") {} 它不起作用 我的视图的结构目录: 我得到一个错误: [error] /Users

当我有子模板,例如index.scala.html和父模板main.scala.html时,我使用代码包括父模板:

@main("MyApp") {}
@views.main("MyApp") {}
此模板已正确包含。但当我将index.scala.html移动到目录中时,例如
Location
并尝试使用代码包含父模板时:

@main("MyApp") {}
@views.main("MyApp") {}
它不起作用

我的
视图的结构
目录:

我得到一个错误:

[error] /Users/dev/project/app/scala/pl/moody/views/Location/index.scala.html:1: object main is not a member of package views
[error] @views.main("Moody") {
[error]        ^

你不需要使用
视图
前缀,它是自动导入的,所以即使子目录中有子目录,你也应该只使用
@main(“MyApp”)

我也遇到了几乎相同的问题,我用如下完整路径调用它,解决了这个问题:

@views.html.admin("Admin Interface") {

}
试着像这样称呼它:

@views.html.main("MyApp") {}

好的,我找到了有效的解决方案。正确编译的html文件位于
target
目录下。 在我的例子中
target/scala-2.11/twirl/main/scala/com/myProject/views/html/main.template.scala

如果我现在有这个目录,我可以将它添加到我的
index.scala.html
中,它看起来

@scala.com.myProject.views.html.main(“MyApp”){
}
同一url将从控制器呈现html:

def index=Action{
Ok(scala.com.myProject.views.html.main(“MyApp”))
}

谢谢你的回答。我认为这两种解决方案都可行。我认为这是IntelliJ中的一些东西,因为即使我在模板中有
@main(“MyApp”)
,并且它可以工作,IDE显示消息
无法解析符号main