Play Framework 2.x的自定义视图目录无法正常工作

时间:2014-05-18 17:08:16

标签: view playframework directory customization playframework-2.2

我是使用Play Framework(2.2.x)的新手,我很难搞清楚如何在\app\views目录中呈现找不到的视图。< / p>

我的项目是这样组织的,即应用程序的每个部分(目录)都有自己的视图,控制器,服务,存储库......等等。我希望保留一个结构。它看起来像这样:

\app\Game\Views
\app\Game\Controllers
\app\Game\Services
\app\Game\Repositories

\app\Players\Views
\app\Players\Controllers

\app\Common\Views
\app\Common\Repositories
... etc

从上面可以看到,视图位于每个应用程序部分的子目录中。查看位置从一个子目录深入到更多。它看起来像这样:

\app\Game\Views
\app\Game\Views\sports.scala.html
\app\Game\Views\dates.scala.html
\app\Game\Views\invites.scala.html

\app\Common\Views\Layouts
\app\Common\Views\Layouts\default.scala.html
\app\Common\Views\Partials
\app\Common\Views\Partials\Headers\default.scala.html
\app\Common\Views\Partials\Headers\onboarding.scala.html
... etc

如果我按照默认设置播放&#39;渲染位于\app\views的视图的方法一切正常:

views.html.index.render()

我很难适应默认设置&#39; Play&#39;识别位于\app\views目录之外的视图的方法。我确定有某种配置或方式来识别这些视图,但我无法在文档中看到它。

如何在\app\views目录中呈现未找到的视图?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您不必做太多事情,只需正确解决问题。

假设您在app\common\views\index.scala.html中拥有自己的观点,然后在您的控制器中,您必须引用它common.views.html.index。请注意额外的common

您可以通过查看target/scala-2.10/src_managed/main/<your-prefixes>/views/html/

来检查从模板生成的类的实际包