当将子项目用作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());
。