zoukankan      html  css  js  c++  java
  • 解决表单重复参数名提交的办法

    参考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 遍历

  • 相关阅读:
    PHP中无限分类、无限回复评论盖楼的实现方法,thinkphp5.0无限分类实例
    PHP中session详解
    使用thinkPHP做注册程序的实例
    虾米盒子系统开发APP
    angular 使用base64密码加密
    开发中遇到的两种表格文本长度处理,即长文本截断
    树组件使用文件夹图标
    angular实现指定DIV全屏
    JS调用浏览器打印机
    使用blob二进制流的方式下载后台文件
  • 原文地址:https://www.cnblogs.com/py1994/p/6740674.html
Copyright © 2011-2022 走看看