0

我需要从 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
}
4

2 回答 2

2

您可以使用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().

于 2012-09-18T23:02:31.903 回答
0
    应用程序.java 文件
  1. 公共类应用程序扩展控制器{
  2. 公共静态结果索引(){
  3. 列表 myList = new ArrayList();
  4. myList.add("one");
  5. myList.add("两个");
  6. 返回 ok(index.render(myList));
  7. }
  8. }
  9. index.scala.html 文件
  10. @(myList: 列表[字符串])
  11. @main("欢迎玩 2.0") {
  12. @for(项目
  13. @物品
  14. }
  15. }
于 2012-09-28T12:35:37.590 回答