簡體   English   中英

春天。 將復選框綁定到 ModelAttribute

[英]Spring. Binding checkboxes to ModelAttribute

無法將復選框綁定到 @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>

爪哇:

@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標簽的情況下將復選框綁定到@ModelAttribute?

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

更改以下來源..

測試表格.java:

public class TestForm
{
    private List<String> list;

    public List<String> getList()
    {
        return list;
    }

    public void setList(List<String> list)
    {
        this.list = list;
    }

    public void setList(String list)
    {
        this.list.add(list);
    }
}

爪哇:

@RequestMapping(value = "/", method = RequestMethod.POST)
public String index(@ModelAttribute TestForm list)
{
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM