Spring MVC和Checkboxes

我正在使用Spring MVC 3.0并且无法完全看到这个问题的所有部分:我的控制器将生成一个域对象列表。 假设一个简单的User对象具有firstName,lastName,age和role属性。 我想在表中输出该用户列表(每个属性一列),每行还有一个默认选中的复选框。 然后,使用该页面的人可能会取消选择其中一些页面。 当他们点击提交按钮时,我希望能够获取所选用户的列表并对其进行操作。

我知道Spring中有一个表单:checkboxes标签,但是我不太清楚如何使用它以及如何在控制器中获得结果。

任何帮助或建议?

如果您的User对象有一个id字段,您可以像这样提交所选用户的ID(在这个简单的场景中,您甚至不需要Spring的表单标记):

 
... ...

 @RequestMapping (...) public void submitUsers(@RequestParam(value = "userIds", required = false) long[] userIds) { ... } 

当页面包含复选框并提交其包含的表单时,浏览器会执行以下操作。

  • 如果选中该复选框,则会将其“value”属性作为值提交
  • 如果选中checkbos,则根本不提交变量。

在您的情况下,我会将@RequestParam(“abono”)更改为@RequestParam(required = false,value =“abono”),然后检查您的布尔值是否为null。 如果为null,则用户不勾选该复选框。