我从包含列表类型字段的控制器传递表单变量。如何在列表的特定索引处设置用户输入的值。下面是我的代码:
@Data
public class TestForm {
public List<TestInfo> testInfo = new ArrayList<TestInfo>();
public static class TestInfo {
public String testName;
public long testId;
}
}
public Result testRoute() {
Form<TestForm> form = Form.form(TestForm.class);
return ok(test.render(form));
}
public Result postRoute() {
Form<TestForm> form = Form.form(TestForm.class).bindFromRequest();
TestForm tf = form.get();
System.out.println(tf.testInfo); // getting empty list
return ok(tf.testInfo.get(0).testName);
}
}
@(tests : Form[views.forms.school.TestForm])
@import helper._
<html>
<body>
<form action="@routes.CustomController.postRoute" method="Post">
<input type="text" name=tests("testInfo")(0).testName value="1"/>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
这里我有一个包含TestInfo 类型列表的TestForm。TestInfo 包含两个字段 testName 和 testId。我将 TestForm 类型的表单传递给 scala 模板,我想根据用户输入的值设置 testName 和 testId 的值,并且每当用户按下提交时,我都会在控制器中绑定这个表单。但在控制器内部,我得到了空值。