2012-07-04 47 views
4

我在前端有一個<select name="items" multiple>,我在後端使用form()。bindFromRequest(),然後使用DynamicForm。form()。bindFromRequest()與數組值

但這裏的HIC:

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

我怎樣才能得到所有提交的值?如果可能的話,不必經過request().body().asFormUrlEncoded().get("items")

感謝您的幫助!

+0

你想通了嗎?我在同一條船上,並且我無法獲得控制器中顯示的全部多項選擇選項。 –

+0

我終於使用'request()。body()。asFormUrlEncoded()。get(「items」)'選項:/ –

+0

同樣的問題,Play2.0迫使我們使用模型來獲取表單數據。 –

回答

3

綁定數組值需要在請求中正確命名值。參數名稱應該以「[]」結尾作爲數組(List)值綁定。

在HTML,你應該有:

<select name="items[]" multiple> 

在Form類將其添加爲:

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

我知道這不是解決DynamicForm問題,但它是更優雅的解決方案。

+0

謝謝。也爲輸入工作。 – Karlth