如何在Controller中获取复选框

时间:2014-06-16 09:01:50

标签: java spring spring-mvc

我有一个html页面(Thymeleaf):

<form action="#" th:action="@{/changeme}">
  <fieldset>
    <table style="width: 500px">
      <tr th:each="esfield : ${esfields}">
        <td>
          <div>
            <div class="checkbox">
              <input type="checkbox" name="optionsMulti"
                th:text="${esfield}" />
            </div>
          </div>
        </td>
      </tr>
      <tr>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td>
          <button type="submit"
            class="btn btn-xs btn-primary margin10-right paddingNew"
            name="save">Calculate!</button>
        </td>
        <td></td>
      </tr>
    </table>
  </fieldset>
</form>

当我点击Calculate!时,它会转到我的控制器

@RequestMapping(value = "/changeme", params = { "save" })
public String save(final ModelMap m) {

    m.addAttribute("centers", /*params*/);
    return "clustering";
}

我想在控制器中获取有关checked boxes的信息吗?

我该怎么做? 提前谢谢

1 个答案:

答案 0 :(得分:1)

您基本上有两种选择:

  • 您为每个复选框使用不同的名称
  • 或您使用spring标记<form:checkbox>而不是原生<checkbox>

如果您没有发布数据,则无法确切知道实际检查了哪些方框(例外情况除外)

使用此方法,您应该在控制器中使用包含@ModelAttribute的{​​{1}}带注释的对象,spring将使用复选框的值自动填充它。

List<Boolean>