在Play2.2.1中,如果父播放项目具有相同的名称视图,我就无法调用子播放项目视图,如index.scala.html。
如何调用子项目index.scala.html?
我创建示例项目HERE
条件如下
创建具有相同名称视图的嵌套播放项目,如index.scala.html。
├── app
│ ├── controllers ── Application.scala
│ └── views ── index.scala.html
├── conf ── routes
├── others
│ └── sub
│ ├── app
│ │ ├── controllers ── Application.scala
│ │ └── views
│ │ ├── index.scala.html
│ │ └── subonly.scala.html
│ └── conf ── sub.routes
将子项目路由添加到父路由中,如-> /sub/ sub.Routes
最后,将相同名称的视图文件(如index.scala.html)创建到父app / views和子项目app / views中。
如果父项目没有子项目视图的同名视图,则调用子项目视图。
如果父项目具有子项目视图的相同名称视图,则在调用子项目视图时,将调用父项目视图。
我想调用同名子项目视图。
父路线的索引调用父项目index.scala.html
GET / controllers.Application.index
-> /sub/ sub.Routes
子项目路线'索引调用子项目index.scala.html(但称为父项目index.scala.html )
GET / controllers.subproject.Application.index
GET /only controllers.subproject.Application.only
像这样
永远不会显示子项目索引视图页面。
答案 0 :(得分:1)
我自己就解决了这个问题。
修复子项目视图目录,如下所示。
├── app
├── others
│ └── sub
│ ├── app
│ │ ├── controllers ── Application.scala
│ │ └── views
│ │ └── sub
│ │ ├── index.scala.html
│ │ └── subonly.scala.html
并从控制器中调用它,如
def index = Action {
Ok(views.html.sub.index())
}
它可以正常工作。