大家好,在http请求中一属性带有&&字符,比如:nickName=ruhe&&haoa ,然后在程序中得到这个值,而这个值却是:ruhe不是ruhe&&haoa,,请问下如何处理?在线等

解决方案 »

  1.   


    是将请求转化成Map后,再从Map里得到key,再将value值读出来。
      

  2.   

    nickName=java.net.URLEncoder.encode(ruhe&&haoa)request.getParameter(nickName) = ruhe&&haoa 
      

  3.   


     InputStream in                  = null;
            BufferedReader br               = null;
            Object responseObj              = null;
            InputStreamReader   isr         = null;
            Map<Object, Object> requestData = null;
            
     in  = request.getInputStream();
                isr = new InputStreamReader(in);
                br  = new BufferedReader(isr);            String line = null;
                StringBuilder sb = new StringBuilder();
                while((line = br.readLine()) != null)
                {
                    // 1.URL转换编码
                    sb.append(URLDecoder.decode(line, UTF_8));
                }此时line中的值为:
    method=userSetup.changeUserInfo&uid=217531&changeField=nickName&changeResult=12312132%26%26dfdfdfd其中的changeResult=12312132%26%26dfdfdfd  这个就是我要得到值,但结果却将后dfdfdfd当成一个属性名了。
      

  4.   

    js有个encodeURI方法。用它编码一下参数。
      

  5.   

    哦,是我们这边业务层对其数据进行了封装, String[] values = sb.toString().split("&");
    将带有此符号“&”全部过滤掉了,有没有方法可以躲避此过滤的呀???
      

  6.   

    你在页面中要传的参数加一下转义字符试试呢
    nickName=ruhe+'\&'&haoa,字符串自己拼一下吧