request.getParameterMap()使用方法
我习惯于加密完 重定向 :
Map<String,String[]> getMap = request.getParameterMap();
String[] a = getMap.get("data");
得到数据 ,解密后重定向返回 redirect :重定向 forward : 转发
return new ModelAndView("redirect:/mobile/user.htm?data=11");
request.getParameterMap()的返回类型是Map类型的对象,也就是符合key-value的对应关系,但这里要注
意的是,value的类型是String[],而不是String.
得到jsp页面提交的参数很容易,但通过它可以将request中的参数和值变成一个map,以下是将得到的参数和值
打印出来,形成的map结构:map(key,value[]),即:key是String型,value是String型数组。
例如:request中的参数t1=1&t1=2&t2=3
形成的map结构:
key=t1;value[0]=1,value[1]=2
key=t2;value[0]=3
如果直接用map.get("t1"),得到的将是:Ljava.lang.String; value只所以是数组形式,就是防止参数名有相同的
情况。
遍历Map中数据方法:
- jdk1.4
- Map map = new HashMap();
- Set set = map.entrySet();
- Iterator it = set.iterator();
- while (it.hasNext()) {
- Entry entry = (Entry) it.next();
- String[] tmp = (String[]) entry.getValue();
- for (int i = 0; i < tmp.length; i++) {
- System.out.println(tmp[i]);
- }
- }
- JDK1.5版本
- Map<String, String[]> map = request.getParameterMap();
- Set<Entry<String, String[]>> set = map.entrySet();
- Iterator<Entry<String, String[]>> it = set.iterator();
- while (it.hasNext()) {
- Entry<String, String[]> entry = it.next();
- System.out.println("KEY:"+entry.getKey());
- for (String i : entry.getValue()) {
- System.out.println(i);
- }
- }