如何在spring MVC中获取所选复选框的列表

时间:2014-12-14 03:51:50

标签: java jsp spring-mvc

目前,我想从表格中获取所选复选框的列表。 我尝试了如下示例代码:

public class Student {

public List<String> listSubject;

public List<String> getListSubject() {
    return listSubject;
}

public void setListSubject(List<String> listSubject) {
    this.listSubject = listSubject;
}

private int id;
private String name;
private int age;
public boolean single;

public boolean isSingle() {
    return single;
}

public void setSingle(boolean single) {
    this.single = single;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public Student() {
    super();
    // TODO Auto-generated constructor stub
}

public Student(List<String> listSubject, int id, String name, int age,
        boolean single) {
    super();
    this.listSubject = listSubject;
    this.id = id;
    this.name = name;
    this.age = age;
    this.single = single;
}

}

打击是控制器 enter image description here

和StudentForm添加信息 enter image description here 在从表单中选中复选框后,我想将所有结果显示在视图中:

enter image description here

但直到现在,我仍然无法将所选值添加到我为学生创建的listofSubject中。

这是我正在实施的示例代码的链接:

https://dl.dropboxusercontent.com/u/11576807/spring-mvc-example.zip

此外,我想使用标签而不是提交按钮来重定向到结果页面。 并且系统仅允许用户选择两个选项,此时,将禁用“保留”复选框。 在这种情况下,您能否与我分享您的解决方案?

请告诉我如何使用上面的示例进行操作。 感谢

1 个答案:

答案 0 :(得分:1)

你已经找到了答案。检查stu.getListSubject()。所有选中的项目都将填充到Spring MVC列表中。 你的控制器应该是这样的。

@RequestMapping(value = "/student/add", method = RequestMethod.POST)
public String addStudent(Student stu, ModelMap model){

    for (String s: stu.getListSubject()) {
        //You can see values populated
        System.out.println("string: " + s);
    }
    model.addAttribute("name",stu.getName());
    model.addAttribute("age", stu.getAge());
    model.addAttribute("single", stu.isSingle());
    model.addAttribute("listSubject", stu.getListSubject());
    return "studentView";
}

您的studentView.jsp文件中有错误。 而不是这个

<c:forEach items="listSubject" var="subject">
    <td>${subject}</td>
</c:forEach>

使用它:

<c:forEach items="${listSubject}" var="subject">
    <td>${subject}</td>
</c:forEach>

您错过了 $ {}