我需要从正在播放的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
}
最佳答案
您可以使用defining()
设置新变量,例如:
@defining(getName() + " " + getType()) { text =>
Hello @text!
}
但是,对于您的情况,您可以如下遍历一个列表:
@for(value <- ComboboxOpts.getListOfValues()) {
<li>@value</li>
}
这不会重复调用您的函数,并且更具表现力。 Play文档包含几个相关示例:http://www.playframework.org/documentation/2.0/JavaTemplates
如果您绝对也需要索引,请尝试使用Scala的
zipWithIndex()
。