2012-07-31 87 views
4

我想在模板(scala.html)中创建一个List。如何在Play框架中创建列表2 scala模板

我已经试过

val list = @{ List("a", "b", "c", "d", "e") } 

val list = List("a", "b", "c", "d", "e") 

@list = @{ List("a", "b", "c", "d", "e") } 

@list = List("a", "b", "c", "d", "e") 

@defining(List("a", "b", "c", "d", "e")) { list => 
    // code here 
} 

,但我总是得到错误object List is not a value。我不知道斯卡拉(我现在正在学习),但在API它具有以下例子

// Make a list via the companion object factory 
val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") 

什么,我试图做的是要筛选地图。

我有一个地图[符号,任何],我正在尝试获取其中的关键不在上述列表中的所有项目。像这样的东西

@f = @{ map.filterKeys(!list.contains(_)) } 
// i do not know if the above statement is correct, because i can't get over there 

回答

6

只是缺少一个导入。我加

@import scala.collection.immutable._ 

或只是

@import scala._ 

鉴于(scala.html)和工作得很好。

我认为scala包就像java.lang

+0

上面哪个工作为您创建列表? – amjad 2014-03-18 15:19:46

+0

他们两个都有效 – pbaris 2014-03-19 10:46:23

2

看起来好像你正在做的,看起来你是在一个视图文件中写这段代码。与其在scala中解决这个问题,你最好在控制器类中处理这个任务,然后将该列表传递给视图文件。用'@'符号做这种工作会变得棘手。

+0

感谢您的答案,但它在视图 – pbaris 2012-07-31 19:16:01

-2

我认为你应该使用一个Set代替List,是这样的:

@{ map.filterKeys(!Set("a", "b", "c", "d", "e").contains(_)) } 
+2

如果他会得到'对象设置不是value'那么做? – 2012-07-31 20:32:15

+0

与我设置相同'对象设置不是一个值' – pbaris 2012-07-31 20:39:36

相关问题