同様の質問をいくつか見ましたが、答えがよくわかりませんでした。フォームからのリストの取得に問題があります。私はこのようにしてきました:
@Entity
public class Foo extends Model {
@Id
public Long id;
@Required
@Valid
@ManyToMany
public static List<Bar> bars = new ArrayList<Bar>();
}
@Entity
public class Bar extends Model{
@Id
public int id;
@Required
public String name;
// @Required
@Valid
@ManyToMany
public static List<Foo> foo = new ArrayList<Foo>();
}
そして、読んだ回答に基づいてインターフェイスを作成しようとしました
@form(routes.Application.newFoo()) {
<select multiple name = "bar[].name">
<option name = "bars[].name" value="option1">Option1</option>
<option name = "bars[].name" value="option2">Option2</option>
<option name = "bars[].name" value="option3">Option3</option>
</select>
...
}
しかし、 Form FilledForm = fooForm.bindFromRequest(); を実行しようとすると
if (filledForm.hasErrors()) {
return badRequest(views.html.index
.render(Problem.all(), filledForm));
} else {
Foo foo = filledForm.get();
foo は他のすべての属性を取得しますが、リストは常に空です。私は何をすべきか?