目前,我想从表格中获取所选复选框的列表。 我尝试了如下示例代码:
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;
}
}
打击是控制器
和StudentForm添加信息 在从表单中选中复选框后,我想将所有结果显示在视图中:
但直到现在,我仍然无法将所选值添加到我为学生创建的listofSubject中。
这是我正在实施的示例代码的链接:
https://dl.dropboxusercontent.com/u/11576807/spring-mvc-example.zip
此外,我想使用标签而不是提交按钮来重定向到结果页面。 并且系统仅允许用户选择两个选项,此时,将禁用“保留”复选框。 在这种情况下,您能否与我分享您的解决方案?
请告诉我如何使用上面的示例进行操作。 感谢
答案 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>
您错过了 $ {} 。