4

我正在尝试将数组列表从播放控制器传递给 scala 模板。

在我的控制器中

List<Profile> profiles = Profile.findAll();

return ok(contacts.render(profiles));

在模板contacts.scala.html

@import models.com.contactmanager.Profile
@(profiles: List[Profile])

我收到错误消息:

not found: value profiles [error] 

用于线

@(profiles: List[Profile])
4

2 回答 2

7

在 Scala 模板的参数列表中,您必须使用 (a) 完全限定的类名或 (b) 在 Build.scala 中导入它们。

(一种)

@(profiles: List[models.com.contactmanager.Profile])

(二)

//Play 2.2
val main = PlayProject(…).settings(
  templatesImport += "models.com.contactmanager.Profile"
)

对于 Play 2.3,API 发生了变化: https ://www.playframework.com/documentation/2.3.x/ScalaTemplates#Import-statements

TwirlKeys.templateImports += "models.com.contactmanager.Profile"
于 2013-08-25T22:35:49.790 回答
1

我的猜测是导入语句必须低于参数语句。

换个顺序试试

@import models.com.contactmanager.Profile
@(profiles: List[Profile])

@(profiles: List[Profile])
@import models.com.contactmanager.Profile
于 2013-08-22T19:06:02.630 回答