有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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
}

共 (2) 个答案

  1. # 1 楼答案

      申请。java文件
    1. 公共类应用程序扩展控制器{
    2. 公共静态结果索引(){
    3. List myList=new ArrayList()
    4. 我的名单。添加(“一”)
    5. 我的名单。加上(“两”)
    6. 返回ok(index.render(myList))
    7. }
    8. }
    9. 索引。斯卡拉。html文件
    10. @(myList:List[String])
    11. @主(“欢迎玩2.0”){
    12. @for(物品)
    13. @item
    14. }
    15. }
  2. # 2 楼答案

    可以使用defining()设置新变量,例如:

    @defining(getName() + " " + getType()) { text => 
      Hello @text!
    }
    

    但是,对于您的情况,您可以按如下方式迭代列表:

    @for(value <- ComboboxOpts.getListOfValues()) {
      <li>@value</li>
    } 
    

    这不会重复调用函数,而且更具表现力。剧本文档中有几个相关的例子:http://www.playframework.org/documentation/2.0/JavaTemplates

    如果您确实也需要索引,请尝试使用Scala的zipWithIndex()