我有一个带有复选框的视图
@for((jc)<-jobcategoryList) {
<input type="checkbox" name="jobcategory.id" value="@jc.id">@jc.name<br>
}
我只想将这个选中的复选框列表发送给我的控制器。但是这样做
public class JobAdController extends Controller {
public static Result save() {
Form<Jobads> jobadsFormData = jobadsForm.bindFromRequest();
if (jobadsFormData.hasErrors()) {
System.out.println("Error in form");
return badRequest();
} else {
Jobads jads= jobadsFormData.get();
List<Jobcategories> jadsList= jads.getJobcategory();
System.out.print("\nLength is:"+jadsList.size());// always prints Length is:0
}}
}
其中Jobads和Jobcategory是我的模特。
我的Jabads.java模型
public class Jobads extends Model {
@ManyToMany
private List<Jobcategories> jobcategories;
}
我的问题是每当我提交带有复选框的视图表格时(上面给出)。我的控制台打印长度为:0
当我试图将我的观点改为
时@for((jc,index)<-jobcategoryList.zipWithIndex) {
<input type="checkbox" name="jobcategory[index]" value="@jc">@jc.name<br>
}
并在控制器的第一行生成[[NumberFormatException:输入字符串:&#34; index&#34;]]并在控制器的第一行生成我的表单。
如何将此复选框发送到我的控制器。
由于
答案 0 :(得分:0)
使用:
@for(jc <- jobcategoryList) {
<input type="checkbox" name="jobcategories[]" value="@jc.id">@jc.name<br>
}
或
@for((jc,index) <- jobcategoryList.zipWithIndex) {
<input type="checkbox" name="jobcategories[@index]" value="@jc.id">@jc.name<br>
}
并在您的表单类中:
public List<Long> jobcategories;