request.getParameterMap()返回的值,是一个Map类型的,记录着所提交的请求中请求参数和请求参数值的映射关系。它的返回值有个特别之处——只能读。不像普通的map数据一样可以修改。这是因为服务器为了实现一定的安全规范,所作的限制,WebLogic,Tomcat,Resin,JBoss等服务器均实现了此规范。但是有必要在拿到此值做修改的话,要新建一个map对象,将返回值
复制
到此新map对象中进行修改,用新的map对象代替使用之前的
返回值。
Map readOnlyMap =
Map writeAbleMap = new HashMap();
writeAbleMap.putAll(readOnlyMap);
writeAbleMap.remove()或者put() 。。。在后续的程序代码中使用writeAbleMap即可。
另外,request.getParameterMap()返回值使用泛型时应该是Map<String,String[]>形式,因为有时像checkbox这样的组件会有一个name对应对个value的时候,所以该Map中键值对是“String-->String[]”的实现。