在Java web开发过程中,处理表单数据是很重要一部分,常见的是form post处理单条数据的,但也会遇到一次提交多条数据到服务器的,如下:
jsp页面一般是采用循环插入input输入框的,并且所有的 id 与 name 是前缀相同的,方便服务端获取
1 <c:forEach items="${objlist}" var="obj"> 2 <input id="key_${obj.Id}" name="key_${obj.Id}"/> 3 </c:forEach>
服务器端获取参数代码:
1 @RequestMapping(value = "/xxxSave", method = RequestMethod.POST) 2 public String payPropsSave(final HttpServletRequest request){ 3 4 final Enumeration<String> enums = request.getParameterNames(); //获取request所有参数 5 6 final List<Obj> objList = new ArrayList<Obj>(); 7 8 while (enums.hasMoreElements()) { 9 final String paramName = enums.nextElement().toString(); 10 if (paramName.startsWith("key_")) { //过滤以key_开头的所有参数 11 final String elementValue = request.getParameter(paramName); 12 final Obj obj = new Obj(); 13 obj.setId(elementValue); 14 . 15 . 16 . 17 objList.add(props); 18 } 19 } 20 21 objService.saveObjList(objList); 22 ... 23 ... 24 ... 25 26 return "xxx"; 27 28 }
以上是工作中积累,如有不妥,请讨论指正,转载注明地址
时间: 2024-10-10 21:59:38