问题描述
我就是想做一个这样的操作前台的代码是 <c:forEach items="${techthesisList}" var="techthesisList"> <tr> <td><input type="checkbox" name="check_thesisid" value="${techthesisList.thesis_id }">${techthesisList.thesis_id }</td> 点击删除按钮提交到后台controller中的delete.do<input type="button" value="删除" name="delete"onClick="window.location.href='/plat_manager/techthesis/delete.do'">后台中的操作是:@RequestMapping("delete.do")public String deleteList(TechThesis techThesis,Model model,HttpServletRequest request,HttpServletResponse response)throws Exception{String[] check_thesisid = request.getParameterValues("check_thesisid");if(check_thesisid!=null){for(int i=1;i<=check_thesisid.length;i++){service.deleteTechThesis(check_thesisid[i]);String message= "删除成功";model.addAttribute("message", message);}}else {String message="请选择数据";System.out.println(message);model.addAttribute("message", message);}return "techresult/techthesis/techthesislist";}但是就是获取不到数据,这是为什么啊? 问题补充:主要就是想在后台获取前台的那个checkbox多选框中的值,如果多选框选中了,就完成删除操作
解决方案
不要用onclick里的window.location.href='/plat_manager/techthesis/delete.do'你这是get方式,而且也没有传参数而应该 是通过post提交类似代码<form action="/plat_manager/techthesis/delete.do" method="post"><c:forEach items="${techthesisList}" var="techthesisList"> <tr> <td><input type="checkbox" name="check_thesisid" value="${techthesisList.thesis_id }">${techthesisList.thesis_id }</td> <input type="submit" value="删除" name="delete"> </form>
解决方案二:
需要使用post 提交才会获取到form表单中的参数。
解决方案三:
提交的时候获取所有被选中的checkbox的value,拼接字符连到url,或者action的url的末尾,提交