java - Spring 。将复选框绑定(bind)到 ModelAttribute

标签 java forms spring-mvc checkbox modelattribute

无法将复选框绑定(bind)到@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。仅在“索引”中的第一个值:

列表: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>

测试窗体.java:

public class TestForm
{
    private String[] list;

    public String[] getList()
    {
        return list;
    }

    public void setList(String[] list)
    {
        this.list = list;
    }
}

一切正常!

如何在没有spring标签的情况下将复选框绑定(bind)到@ModelAttribute?

最佳答案

检查:public String index(@RequestParam("list") List<String> list, ModelMap model)

关于java - Spring 。将复选框绑定(bind)到 ModelAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031323/

相关文章:

java - 通过 <a href =""> 传递参数并将其获取到 spring mvc Controller

java - 为什么它不读取行终止符 ''\n'

java - 来自远程数据库的 ListView onItemClickListener 未传递位置整数

java - 纯 Java 与 native SQLiteJDBC 驱动程序和嵌套 VM

php - 比较两个 texbox 中 mysql 数据库的值,无需提交表单

python - 除了 ManyToMany 之外,是否有允许多种选择的 Django 模型字段?

c# - 表单在 Hide() 上处理

java - 如何正确注册自定义 JsonSerializer?

java - 正则表达式仅允许两种模式中的一种

java - 拒绝 Spring Security 中所有角色对特定 URL 的访问