首页 > 代码库 > 解决表单重复参数名提交的办法
解决表单重复参数名提交的办法
参考servlet 和 java API手册
方法一:枚举法
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Enumeration e = req.getParameterNames(); while(e.hasMoreElements()){ String paraName = (String) e.nextElement(); //将得到的参数传入到 getParameterValues()方法中,返回的是一个字符型数组 String[] paraValues = req.getParameterValues(paraName) ; if(paraValues.length == 1){ String str = paraValues[0]; System.out.println(str); }else{ for(int i=0;i<paraValues.length;i++){ System.out.println(paraValues[i]); } } } }
方法二:map转换set
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 方法二 用getParameterMap ,map转换城set,map 没有 iterator 这个接口 Map<String, String[]> map = req.getParameterMap(); // 将map 转换城set Entry<key,value> 是map 中的一个接口可以通过 Map.Entry<key,value> 来调用 Set<Map.Entry<String, String[]>> set = map.entrySet(); for (Iterator<Map.Entry<String, String[]>> it = set.iterator(); it .hasNext();) { Map.Entry<String, String[]> entry = it.next(); String paraName = entry.getKey(); paraName = new String(paraName.getBytes("ISO8859-1"), "UTF-8"); System.out.println(paraName); String[] paraValues = entry.getValue(); if (paraValues.length == 1) { paraValues[0] = new String(paraValues[0].getBytes("iso8859-1"), "utf-8"); System.out.println(paraValues[0]); } else { for (int i = 0; i < paraValues.length; i++) { paraValues[i] = new String( paraValues[i].getBytes("iso8859-1"), "utf-8"); System.out.println(paraValues[i]); } } } }
将 map 元素转换成 set 集合 , 用Iterator 遍历
解决表单重复参数名提交的办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。