1

当使用子项目作为 Play 2 项目的一部分时,似乎如果主项目和子项目都有一个同名的模板,例如navtop.scala.html,您在子项目中调用导入到另一个模板,则应用程序会选择该模板从主项目。

是否可以指定“本地”模板进行导入?

4

1 回答 1

4

Play 将 Scala 模板文件编译为真实的类。所以app/views/navtop.scala.html会被编译成views.html.navtop。让两个类具有相同的完全限定名称并使用类加载器是一种不好的做法。为了防止类文件冲突,请使用包。

无需将所有视图放入文件夹 app/views 中。例如,您还可以使用 app/admin/views/navtop.scala.html,它将被编译为与 views.html.navtop 不同的 admin.views.html.navtop。

要将其导入模板:

@import admin.views.html.navtop

@navtop()

如果仍然发生冲突,请使用全名,例如return ok(admin.views.html.navtop.render());.

于 2013-10-18T20:01:58.813 回答