Jsp中CheckBox数据回显
毕设,试题组卷系统中年级实体包括课程,使用复选框选中。对年级进行编辑时所包含课程在复选框中回显。
主要是使用jstl中的contains函数
下面展示一些 内联代码片
。
@RequestMapping("/toUpdateGrade")
public String toUpdGrade(int gradeId, Model model, HttpSession session){
Grade gradeInfo = gradeService.get(gradeId);
String courseName= "";
Course course=null;
//dataList 是所有的课程
List<Course> dataList = courseService.find(course);
model.addAttribute("dataList", dataList);
String id = gradeInfo.getCourseId();
String ids[]=null;
//cnames保存已经选中的课程名
ArrayList<String> cnames=new ArrayList<String>();
if(id != null){
ids = id.split(",");
for(int i=0;i<ids.length;i++){
course = courseService.get(Integer.parseInt(ids[i]));
String name=course.getCourseName();
cnames.add(name);
courseName+=course.getCourseName()+",";
}
}
gradeInfo.setCourseId(str);
model.addAttribute("courseNames",cnames);
model.addAttribute("grade", gradeInfo);
return "grade-upd";
}
jsp代码 courseNames是所选课程名,o是所有的课程
<c:forEach items="${dataList}" var="o">
<input type="checkbox" name="courseId" id="courseId" value="${o.courseId}"
${fn:contains(courseNames,o.courseName)? 'checked':""}
/>${o.courseName}
</c:forEach>
参考文章链接:
https://blog.youkuaiyun.com/m0_48268301/article/details/112709335