2012-06-27 3 views
0

나는 나를 제외하고 다음 부여합니다 문 위 Customiz지도에서 요청 매개 변수지도를 가져 옵니까?

Map<String, String> reqMap =(HashMap<String, String>)request.getParameterMap(); 

같은 내 사용자 지정 맵에 내 요청 매개 변수지도를 원하는

나는 내 사용자 지정지도의 모든 요청 매개 변수를 얻을 수있는 방법
java.lang.ClassCastException: java.util.Collections$UnmodifiableMap 

이 하나가 나를 인도 할 수 있습니까? 성능 문제를 일으키는 매개 변수를 하나씩 가져 오기 위해 for 루프를 작성하고 싶지는 않습니다.

+0

HashMap은 작성한 사용자 정의 버전입니까? 왜? – rooftop

+0

그것은 맞춤 버전이 아닙니다. 그것은 자바의 것입니다. 내 새지도에서 매개 변수를 요청하기 만하면됩니다. – user1041580

답변

1
Map<String, String> reqMap = request.getParameterMap(); 
CustomMap<String, String> customMap = new CustomMap<String,String>(); 
customMap.putAll(reqMap); 

, 당신은 당신의 putAll() 구현지도 요소를 반복해야 할 수도 있습니다. 그렇지 않으면 불가능합니다.

UPDATE : 다만, 태국어 당신도에지도를 주조주의 new HashMap<String, String>(reqMap);

+0

감사합니다. 이것은 위의 예외를 해결합니다. 기본적으로이지도를 비즈니스 계층에 보냅니다. 그래서 요청 객체를 보낼 수 없습니다. 그러나 비즈니스 레이어에서지도를 검색하는 동안이지도는 나에게 모든 매개 변수를 가져 오려는 Collections $ UnmodifiableMap 의 개체를 보여줍니다. Plz suggest me – user1041580

+0

'reqMap'이 아니라'newMap'을 비즈니스 레이어에 전달해야합니다. 'UnmodifiableMap'을 반복하는 것 외에는 어떤 조작도 할 수 없습니다. 대답은 ** 우리가 ** UnmodifiableMap이 아닌지도 ('newMap')를 만들었습니다. –

+0

'http : // localhost : 8080/project /? pid = 1 & cid = 20 & start = 1 & end = 24 & uid = 9'와 같이 지정된 매개 변수 만 가져 오는 방법. pid와 cid만을 얻고 싶다면'getParameterMap()'을 사용하여이 속성을 어떻게 얻을 수 있습니까? – user2518430

-1

변경 :

Map<String, String> reqMap =(HashMap<String, String>)request.getParameterMap(); 

하려면 : 물론

Map<String, String> reqMap =(Map<String, String>)request.getParameterMap(); 
+0

@ Marcel의 대답을 참조하십시오. – txedo

관련 문제