不知道大家有没有用过request.getParameterMap()这个方法,我的代码如下:
HashMap hm=(HashMap)request.getParameterMap();
Iterator it=hm.entrySet().iterator();
while(it.hasNext())
{
Map.Entry element=(Map.Entry)it.next();
System.out.println(element.getKey().toString()+" "+element.getValue().toString());
}
打印出来的key是正常的,但value是乱码:
name [Ljava.lang.String;@1205d8d
pwd [Ljava.lang.String;@1de152f
有没有遇到过同样问题的朋友?
HashMap hm=(HashMap)request.getParameterMap();
Iterator it=hm.entrySet().iterator();
while(it.hasNext())
{
Map.Entry element=(Map.Entry)it.next();
System.out.println(element.getKey().toString()+" "+element.getValue().toString());
}
打印出来的key是正常的,但value是乱码:
name [Ljava.lang.String;@1205d8d
pwd [Ljava.lang.String;@1de152f
有没有遇到过同样问题的朋友?
String param = "";
while(enu.hasMoreElements()){
String paraName=(String)enu.nextElement();
param += ("".equals(param)?"":"&");
param += (paraName+"="+request.getParameter(paraName));
}
<%@page contentType="text/html; charset=UTF-8"%>
<form action="/test1/cx/cx" method="post">
name:<input type=text name="name"><br>
password:<input type="password" name="pwd"><br>
<input type="submit" value="submit">
</form>
Returns an Enumeration of String objects containing the names of the parameters contained in this request. If the request has no parameters, the method returns an empty Enumeration.
它返回的是form里所有的name,而没有value
String val = "";
if (obj instanceof String[]){
String[] strs = (String[])obj;
val = Arrays.toString(strs);//jdk1.5以上才支持,1.4的话就自己循环
}else{
val = obj.toString();
}
然后我改了下jsp
<%@page contentType="text/html; charset=UTF-8"%>
<form action="/test1/cx/cx" method="post">
name: <input type=text name="name"> <br>
name: <input type=text name="name"> <br>
password: <input type="password" name="pwd"> <br>
<input type="submit" value="submit">
</form> 结果打印出来是
name [aaa, bbb]
pwd [ccc]也就是说这个方法考虑到了相同name的情况
$.ajax({
type: "post",
url: url,
contentType: "application/x-www-form-urlencoded; charset=utf-8",
dataType: "json",
data: {mydata: mydata},
success: successHandler,
error: errorHandler
}