Java 如何在控制器中获取复选框

Java 如何在控制器中获取复选框,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个html页面(带有Thymeleaf): 我想获取有关控制器中的复选框的信息 我该怎么做? 提前感谢您您基本上有两种选择: 或者为每个复选框使用不同的名称 或者您使用spring标记而不是本机 如果您不发布数据,您将无法确切知道实际选中了哪些框(除了全部和无) 使用这种方法,您应该在控制器中使用一个@modeldattribute注释对象,该对象包含一个列表,spring将自动用复选框的值填充它 @RequestMapping(value = "/changeme", params

我有一个
html
页面(带有
Thymeleaf
):

我想获取有关控制器中的
复选框的信息

我该怎么做?
提前感谢您

您基本上有两种选择:

  • 或者为每个复选框使用不同的名称
  • 或者您使用spring标记
    而不是本机
如果您不发布数据,您将无法确切知道实际选中了哪些框(除了全部和无)

使用这种方法,您应该在控制器中使用一个
@modeldattribute
注释对象,该对象包含一个
列表
,spring将自动用复选框的值填充它

@RequestMapping(value = "/changeme", params = { "save" })
public String save(@ModelAttribute BoxesForm form, final ModelMap m) {
    // do what you need with form.getCheckboxes() ...
    m.addAttribute("centers", /*params*/);
    return "clustering";
}

public class BoxesForm {
    List<Boolean> checkboxes;
    // getter and setter omitted ...
}
@RequestMapping(value=“/changeme”,params={“save”})
公共字符串保存(@modeldattribute BoxesForm表单,最终ModelMap){
//使用form.GetCheckBox()执行所需操作。。。
m、 addAttribute(“中心”/*参数*/);
返回“聚类”;
}
公营拳击场{
列出复选框;
//省略了getter和setter。。。
}

@ruhung您可能会使用
@RequestParam String[]选项multi
Hi的可能重复项,谢谢。我更改了我的
控制器
,并更改了一点html视图:
。现在,在我的控制器中,我可以看到
true
的列表。我想说的是,哪些元素已经过检查。你能解释一下怎么做吗?正如我在回答中所说的,你不能。你必须使用
让spring给你一个所有复选框的列表,无论是正确的还是错误的。我在上面找到了一个解决方案。我把我的帖子标为副本。
@RequestMapping(value = "/changeme", params = { "save" })
public String save(final ModelMap m) {

    m.addAttribute("centers", /*params*/);
    return "clustering";
}
@RequestMapping(value = "/changeme", params = { "save" })
public String save(@ModelAttribute BoxesForm form, final ModelMap m) {
    // do what you need with form.getCheckboxes() ...
    m.addAttribute("centers", /*params*/);
    return "clustering";
}

public class BoxesForm {
    List<Boolean> checkboxes;
    // getter and setter omitted ...
}