将Play 2.0视图分组到包/文件夹中

时间:2013-08-07 11:42:03

标签: scala playframework-2.0

我正在尝试解决可能简单的问题,在我的'views'目录中,在典型的Play框架设置中,我想将我的模板(* .scala.html文件)分组,可能使用另一个文件夹小组,例如。我想拥有带有以下文件的客户文件夹:

  • createForm.scala.html
  • editForm.scala.html
  • list.scala.html

到目前为止一切顺利但是当我尝试从我的控制器访问该视图引用时(例如Ok(views.html.list(..)) - > Ok(views.customers.html.list(...)),我收到错误:

object customers is not a member of package views

是否有关于如何使用多个视图,如何将它们收集到组中以及如何在其他视图或控制器中使用它们的最佳实践/方法。

提前谢谢。

2 个答案:

答案 0 :(得分:7)

模板引擎的工作方式是定义为:

的模板
/views/application/index.scala.html

将变成一个班级:

views.html.application.index

所以基本上views.html总是作为前缀保留。参看Play template documentation

在你的情况下,这意味着它应该是

Ok(views.html.customers.list(...))

答案 1 :(得分:3)

如果仔细查看target目录,您将看到如何编译视图以及如何编写包:

Ok(views.html.group.view())

你也可以像这样导入:

@import views.html.group._
//...
Ok(view())