Play2.2.1 父项目同名视图不能调用子播放项目视图

Posted

技术标签:

【中文标题】Play2.2.1 父项目同名视图不能调用子播放项目视图【英文标题】:Play2.2.1 cann't call sub play project view if parent project have same name view 【发布时间】:2014-03-23 08:44:49 【问题描述】:

在 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

最后,在父项目app/views和子项目app/views中创建index.scala.html等同名视图文件。

问题

如果父项目没有子项目视图的同名视图,则调用子项目视图。

如果父项目与子项目视图同名,则调用子项目视图时,会调用父项目视图。

我想调用同名子项目视图。

示例操作

父路由的索引调用父项目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

喜欢这个

从不显示子项目索引视图页面。

【问题讨论】:

【参考方案1】:

我自己解决了这个问题。

修复子项目视图目录如下。

├── app
├── others
│   └── sub
│       ├── app
│       │   ├── controllers ── Application.scala
│       │   └── views
│       │       └── sub
│       │           ├── index.scala.html
│       │           └── subonly.scala.html

并从控制器中调用它

def index = Action 
  Ok(views.html.sub.index())

它工作正常。

【讨论】:

以上是关于Play2.2.1 父项目同名视图不能调用子播放项目视图的主要内容,如果未能解决你的问题,请参考以下文章

(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器

你如何为每个父项存储子 NSTableView 设置?

Python从父调用扩展子方法

Kendo ui - 在子添加/编辑时获取父网格项(网格层次结构)

如何将子列表视图项目包含每个项目的数据

安卓电视 |如何在父视图中居中 ListRow 项 (Horizo​​ntalGridView)