Невозможно привязать флажки к @ ModelAttribute.
HTML:
<form method="post">
<p><input type="checkbox" name="list" value="v1" /></p>
<p><input type="checkbox" name="list" value="v2" /></p>
<p><input type="checkbox" name="list" value="v3" /></p>
<p><input type="checkbox" name="list" value="v4" /></p>
<p><input type="submit" value="Send" /></p>
</form>
Java:
@RequestMapping(value = "/", method = RequestMethod.POST)
public String index(@ModelAttribute("list")List<String> list, ModelMap model)
{
LoggerFactory.getLogger(this.getClass()).debug("list: " + list.size() + " " + list);
...
}
Проверено v2 и v3.Только в «index» первое значение:
список: 1 [v2]
Если я создаю форму с тегом spring:
<form:form modelAttribute="testForm">
<p><form:checkbox path="list" value="v1" /></p>
<p><form:checkbox path="list" value="v2" /></p>
<p><form:checkbox path="list" value="v3" /></p>
<p><form:checkbox path="list" value="v4" /></p>
<p><input type="submit" value="Отправить" /></p>
</form:form>
TestForm.java:
public class TestForm
{
private String[] list;
public String[] getList()
{
return list;
}
public void setList(String[] list)
{
this.list = list;
}
}
Все в порядке!
Как привязать флажок к @ModelAttribute без тега Spring?