当使用子项目作为Play 2项目的一部分时,如果主项目和子项目都有相同名称的模板,比如navtop.scala.html,然后调用导入到子项目中的另一个模板,应用程序将从主项目中选择模板。
是否可以指定导入的“本地”模板?
发布于 2013-10-18 20:01:58
Play将Scala模板文件编译为实际类。因此app/view/natop.scala.html将被编译为views.html.navtop。有两个类具有相同的完全限定名,并在类加载器中乱糟糟,这是一种糟糕的做法。若要防止类文件冲突,请使用包。
不需要播放将所有视图放入应用程序/视图文件夹中。例如,您还可以使用app/admin/view/Navtop.scala.html,它将被编译为与admin.views.html.navtop不同的views.html.navtop。
若要将其导入模板,请执行以下操作:
@import admin.views.html.navtop
@navtop()如果仍然发生碰撞,请使用全名,例如return ok(admin.views.html.navtop.render());。
https://stackoverflow.com/questions/19451898
复制相似问题