当将子项目用作Play 2项目的一部分时,如果主项目和子项目中的每一个都有一个具有相同名称的模板(例如navtop.scala.html),并且您将导入导入到子项目中的另一个模板中,则该应用从主项目中选择模板。

是否可以指定要导入的“本地”模板?

最佳答案

Play将Scala模板文件编译为真实类。因此,app / views / navtop.scala.html将被编译为views.html.navtop。不好的做法是让两个类具有完全相同的完全限定名称,并且将类装入器弄乱。为了防止类文件冲突,请使用软件包。

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

要将其导入模板中:

@import admin.views.html.navtop

@navtop()


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

09-12 11:04