2012-02-03 55 views
1

我只能在java中找到示例,它們似乎都表明我正在做的事情應該「只是工作」。我有一個如下所示的表單(或者名稱爲「id」或「id []」),兩者的結果相同。我試圖將我的編輯方法聲明爲List [Int]或Seq [Int],但在兩種情況下,id最終都是NULL。如果我轉儲參數,我可以看到實體包含正確的查詢字符串,如果我只是做一個get(「id」)它返回作爲包含第一個值(1)的int。我怎麼能通過表單提交某種有序的容器(不關心它是一個列表或序列或其他什麼)?通過POST在1.2.4中通過POST提交數組/列表/ seq使用scala 0.9.1

<form method="post" action=""> 
    <input type="hidden" name="id" value="1" /> 
    <input type="hidden" name="id" value="2" /> 
    <input type="hidden" name="id" value="3" /> 
    <input type="hidden" name="id" value="4" /> 
    <input type="text" name="name" /> 
    <input type="submit" /> 
</form> 

def edit(id: List[Int]) = {...} 

回答

1

Play不能處理來自表單的scala集合類型,只能處理java集合。將表格保持原樣但將方法更改爲:

def edit(id: java.util.List[Int]) = {...} 

解決問題。然後你可以將你的java列表轉換成一個scala列表並正常使用它。