エンジニアになりたい

立派なエンジニアに憧れるへっぽこエンジニアのメモ書き

テンプレートでリストをフォームにマッピング

Play Framework のテンプレートでリストをフォームにマッピングさせます。

http://www.playframework-ja.org/documentation/2.0.4/ScalaTodoList
このチュートリアルの改造版です。
いろいろ省いたのでちゃんと動くかわかりません。
ごめんなさい。

テンプレート

@(taskForm: Form[Task])
@import helper._
@detailGroup(field: Field) = {
	@inputText(field("number"))
	@inputText(field("detail"))
}

@form(routes.Application.newTask()) {

        @inputText(taskForm("label"))
        @repeat(taskForm("details"), min = 2) { detail =>
    		@detailGroup(detail)
	}

        <input type="submit" value="Create">

}

3行目の@detailGroupでリストの中身の表示部分を定義して、
@repeat で繰り返します。
min で最小の繰り返し回数を指定します。
min = 2 の場合リストが空でも 2つ分は作成されます。


モデル Taskクラス

package models;

import java.util.*;

public class Task {

  public String label;

  public List<Detail> details;

  public static class Detail {
  	public String number;
  	public String detail;
  }

}

配列の場合はどうやるかわかりません。