在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;
}
|