我正在開發一個簡單的Spring MVC項目。我無法從複選框獲取值。我的意思是,當用戶從3中檢查2個框時,所有3個都被綁定到一個列表,未檢查的值爲空。這是錯誤的。我只想要檢查的值。那些沒有得到檢查的人不應該列入清單。 這是我的代碼片段: 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」。我究竟做錯了什麼?或者有沒有解決它的方法?請致電 謝謝。
對不起隊友我剛剛看到你的答案。我沒有測試過你的解決方案,但我自己找到了解決方案。另外,你正在使用html標籤。我無法使用html標籤。我可以使用JSTL核心標籤或Spring標籤。我即將發佈的解決方案使用JSTL核心標籤和Spring標籤。感謝您嘗試回答我的問題。非常感激。 –