form()。bindFromRequest()与数组值

时间:2012-07-04 14:38:33

标签: playframework-2.0

我的前端有一个<select name="items" multiple>,我在后端使用form()。bindFromRequest(),然后使用DynamicForm。

但这就是hic:

DynamicForm form = form().bindFromRequest();
form.field("items").value(); // Only return one value !

如何获得所有提交的值?如果可能的话,无需通过request().body().asFormUrlEncoded().get("items")

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

绑定数组值需要在请求中正确命名值。参数名称应以&#34; []&#34;结尾。绑定为数组(List)值。

在您的HTML中,您应该:

<select name="items[]" multiple>

在Form类中,将其添加为:

public class ExampleForm {
    public List<Integer> items;
}

我知道这不能解决DynamicForm问题,但它是更优雅的解决方案。