在java中填充@select dropdownlist

Xit*_*rum 2 playframework playframework-2.0

我正在使用play framework 2.0.4

在我的java文件中

return ok(views.html.name.render(Name.all(),NameForm));
Run Code Online (Sandbox Code Playgroud)


在我的html文件中,

@(name: List[Name],NameForm: Form[Name])
Run Code Online (Sandbox Code Playgroud)

我想通过在@import helper中使用@select来创建一个下拉列表(比如使用纯HTML中的select,option标签)来自name数组中的数据.
我是Play的新手,因此有人可以告诉我如何将这个存档?
非常感谢你.

by0*_*by0 8

一种方法是将选项定义为列表,由静态方法返回

创建一个Java类

public class ComboboxOpts {
    public static List<String> myCustomOptions(){
        List<String> tmp = new ArrayList();

        tmp.add("This is option 1");
        tmp.add("This is option 2");
        tmp.add("This is option 3");
        return tmp;
    }
....
}
Run Code Online (Sandbox Code Playgroud)

在HTML中,导入帮助程序

@import helper._
Run Code Online (Sandbox Code Playgroud)

并尝试

 @select(
     myForm("myDropdownId"),
     options = options(ComboboxOpts.myCustomOptions),
     '_label -> "This is my dropdown label",
     '_showConstraints -> false
 )
Run Code Online (Sandbox Code Playgroud)

另一种方法是定义自定义表单字段.看到这个链接

@helper.form(action = routes.Application.submit(), 'id -> "myForm") {
    <select>
        <option>This is option 1</option>
        <option>This is option 2</option>
        <option>This is option 3</option>
    </select>
}
Run Code Online (Sandbox Code Playgroud)

在提出这些问题之前,请务必进行广泛的Google搜索.我相信已经有过教程和/或同样的问题

干杯