JSP中复选框向后台传值

JSP中复选框向后台传值
2008-10-09 14:41

前台在JSP页面上选中多个选项, 把这些值传到servlet里面, 完成对班级课程的添加。
在JSP中用checkbox实现多选,所有的chekbox都命同样的名,在后台接收到的就是一个字符串数组。
可用它来接收:String[] 字符串名 = request.getParameterValues("表单名");
然后用字符串的.lenth属性可以得出数组的长度。
由于除了第一列表单可以只把选中的传到后台,其它的都会全部一起传过去,不管有没有选中,在这里可以用下标的判断哪些是选中了的值, 而下标可以通过一个隐藏域传到后台,
隐藏域的HTML标签为:

----------------------------------------------Jsp页面--------------------------------------------------------

method="post">








<%
for (int i = 0; i < courses.size(); i++) {
Course course = courses.get(i);
%>






<%
}
%>





班级:



选择

名称

老师

//利用隐藏域来接收courseId的值,而在下面的复选框则接受的是下标值


<%=course.getCourseName()%>




    


---------------------------------------------Servlet页面-------------------------------------------

private void added(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String termId = request.getParameter("termId");
String[] courseIds = request.getParameterValues("courseId"); //接收前台的值传,为一一对应的数组
String[] teaIds = request.getParameterValues("teaId");
String[] indexs = request.getParameterValues("index");

for (int i = 0; i < indexs.length; i++) {
int nIndex = new Integer(indexs[i]); //new Integer():即是强转换成整型变量。用来获得下标值
TermCourse termCourse = new TermCourse();
termCourse.setTermId(termId);
termCourse.setCourseId(courseIds[nIndex]); //通过数组下标来得到被选中的值,下面也同样的。
termCourse.setTeaId(teaIds[nIndex]);
new TermCourseDAO().add(termCourse);
}
response.sendRedirect("TermCourseServer?pattern=add"); //返回到添加的servlet,到添加的页面。
}

http://hi.baidu.com/jiong0818/blog/item/9ba33c1199329416b9127ba7.html

你可能感兴趣的:(JSP中复选框向后台传值)