playframework在playframework 2.0中将变量分配给java列表
我需要从正在使用的html代码中访问Java列表。 我的列表由公共静态方法返回:
ComboboxOpts.getListOfValues()
我在scala代码中多次使用此方法,希望将其分配给某个变量。也许是类似的
@mylist = ComboboxOpts.getListOfValues()
这样我就可以这样使用它了
@for(i <- 0 to mylist.size -1){
//Do stuff
}
而不是这个
@for(i <- 0 to ComboboxOpts.getListOfValues.size -1){
//Do stuff
}
# 1 楼答案
申请。java文件- 公共类应用程序扩展控制器{
- 公共静态结果索引(){
- List myList=new ArrayList()李>
- 我的名单。添加(“一”)李>
- 我的名单。加上(“两”)李>
- 返回ok(index.render(myList))李>
- }
- }
索引。斯卡拉。html文件
- @(myList:List[String])
- @主(“欢迎玩2.0”){
- @for(物品)
- @item
- }
- }
# 2 楼答案
可以使用
defining()
设置新变量,例如:但是,对于您的情况,您可以按如下方式迭代列表:
这不会重复调用函数,而且更具表现力。剧本文档中有几个相关的例子:http://www.playframework.org/documentation/2.0/JavaTemplates
如果您确实也需要索引,请尝试使用Scala的
zipWithIndex()