先来说下我在项目中发现的一个以前没有用过的东西request.getParameterMap()
request.getParameterMap()返回的值,是一个Map类型的,记录着所提交的请求中请求参数和请求参数值的映射关系。它的返回值有个特别之处——只能读。不像普通的map数据一样可以修改。这是因为服务器为了实现一定的安全规范,所作的限制,虚拟主机,WebLogic,Tomcat,Resin,网站空间,JBoss等服务器均实现了此规范。但是有必要在拿到此值做修改的话,要新建一个map对象,网站空间,将返回值复制到此新map对象中进行修改,用新的map对象代替使用之前的返回值。
Map readOnlyMap =request.getParameterMap();
Map writeAbleMap = new HashMap();
writeAbleMap.putAll(readOnlyMap);
writeAbleMap.remove()或者put() 。。。在后续的程序代码中使用writeAbleMap即可。
另外,request.getParameterMap()返回值使用泛型时应该是Map<String,String[]>形式,因为有时像checkbox这样的组件会有一个name对应对个value的时候,所以该Map中键值对是“String–>String[]”的实现。
HashMap遍历
使用的时候,大家就可以把request.getParameterMap()转换成普通的HashMap来操作了。
本文出自 “On My Way” 博客,请务必保留此出处
爱人,却不一定能够听懂。他们听见的,多是抱怨不休,心烦意乱。