フォーム提出から値のリストを受け取り、それをオブジェクトのリストにバインドすることが必死になっています。単一の行取得するためには何働くフォームからプレイフレームワーク2.0の複数のオブジェクトをバインドする
:
//class
case class Task(name: String, description: String)
val taskForm: Form[Task] = Form(
mapping(
"name" -> text,
"description" -> text
)(Task.apply)(Task.unapply)
)
//form
<tr>
<td><input name="name" type="text" class="span2" placeholder="Name..."></td>
<td><textarea name="description" class="autoexpand span7" rows="1" placeholder="Description..."></textarea>
</td>
</tr>
//receiving action:
val task = taskForm.bindFromRequest.get
をしかし、今、私は、例えば、このようなタイプのタスクの複数のオブジェクトを提出したい:
taskForm.bindFromRequestを行う<tr>
<td><input name="name[0]" type="text" class="span2" placeholder="Name..."></td>
<td><textarea name="description[0]" class="autoexpand span7" rows="1" placeholder="Description..."></textarea></td>
</tr>
<tr>
<td><input name="name[1]" type="text" class="span2" placeholder="Name..."></td>
<td><textarea name="description[1]" class="autoexpand span7" rows="1" placeholder="Description..."></textarea></td>
</tr>
。今すぐ を取得できません。
誰かがこれに対する解決策を考え出しましたか?あるいは、あなたはまったく違う状況に対処していますか?
あなたはそれを釘付けにした。それらを持っている私のために問題を持っていた人は、サブマップの周りに 'list()'をラップしていた – crockpotveggies
しかし、どのように同じオブジェクト型のリストをバインドするのですか? (something:case class Person(name:String、friends:List [Person])?) – teo
これは素晴らしいですが、Javaからこれを行うのはどうですか?最も基本的なJavaフレームワークはこれを簡単に実行します。これはショックではありません。 – Rob