在java web项目中虽然可以通过request.getParameterMap()很轻松的获得参数Map,但得到的Map和普通Map是不一样的,是被锁定的,不能像操作常规Map那样进行put、get等操作,该方法将得到参数Map返回为可操作的普通Map


 


代码片段(1)[全屏查看所有代码]



1. [代码][Java]代码     




​?​



1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35




​/**​


​* 从request中获得参数Map,并返回可读的Map​


​* ​


​* @param request​


​* @return​


​*/​


​@SuppressWarnings​​​​(​​​​"unchecked"​​​​)​


​public​​ ​​static​​ ​​Map getParameterMap(HttpServletRequest request) {​


​// 参数Map​


​Map properties = request.getParameterMap();​


​// 返回值Map​


​Map returnMap = ​​​​new​​ ​​HashMap();​


​Iterator entries = properties.entrySet().iterator();​


​Map.Entry entry;​


​String name = ​​​​""​​​​;​


​String value = ​​​​""​​​​;​


​while​​ ​​(entries.hasNext()) {​


​entry = (Map.Entry) entries.next();​


​name = (String) entry.getKey();​


​Object valueObj = entry.getValue();​


​if​​​​(​​​​null​​ ​​== valueObj){​


​value = ​​​​""​​​​;​


​}​​​​else​​ ​​if​​​​(valueObj ​​​​instanceof​​ ​​String[]){​


​String[] values = (String[])valueObj;​


​for​​​​(​​​​int​​ ​​i=​​​​0​​​​;i<values.length;i++){​


​value = values[i] + ​​​​","​​​​;​


​}​


​value = value.substring(​​​​0​​​​, value.length()-​​​​1​​​​);​


​}​​​​else​​​​{​


​value = valueObj.toString();​


​}​


​returnMap.put(name, value);​


​}​


​return​​ ​​returnMap;​


​}​