【发布时间】:2015-09-06 13:19:02
【问题描述】:
我正在开发一个简单的 Spring MVC 项目。我无法从复选框中获取值。我的意思是当用户选中 3 个中的 2 个框时,所有 3 个都绑定到一个列表,其中未选中的值为 null。那是错误的。我只想要检查的值。那些没有被检查的根本不应该列出来。 这是我的代码的 sn-p: POJO:
public class Student{
private List<StudentCourses> sc;
//getters and setters
}
public class StudentCourses{
private int courseID;
private String courseName;
private Character grade;
private String semesterID;
//getters and setters
}
这是我从控制器发送的内容:
@RequestMapping(value = "/selectclasses", method = RequestMethod.POST)
public String selectClasses(Model m) {
Student s = new Student();
List<StudentCourses> coursesList = new ArrayList<StudentCourses>();
coursesList.add(new StudentCourses("Eng 101", '-', "SP 16"));
coursesList.add(new StudentCourses("Math 140", '-', "SP 16"));
coursesList.add(new StudentCourses("CS 442", '-', "SP 16"));
m.addAttribute("coursesList", coursesList);
m.addAttribute("student", s);
return "selectclasses";
}
这就是我的 selectclasses.jsp 中的内容:
<form:form modelAttribute="student" method="post" action="/success">
<table>
<c:forEach items="${coursesList}" var="r" begin="0" varStatus="status">
<form:checkbox path="sc[${status.index }].courseName" value="${r.courseName}" label="${r.courseName}" />
</c:forEach>
</table>
<input type="submit" id="submit" name="submit" value="Submit" />
</form:form>
我不知道为什么在未检查时会将 null 传递给“sc.courseName”。我究竟做错了什么?或者有解决办法吗?
请帮忙 谢谢。
【问题讨论】:
标签: spring-mvc arraylist data-binding jstl