0
我有以下的LinkedHashMap中,我把值以下列方式:通過地圖像下面爪哇 - 循環通過LinkedHashMap的,並獲得價值
if (preAuthorizeAnnotation != null) {
requestMappingValues = requestMappingAnnotation.value(); // to get the url value
RequestMethod[] methods = requestMappingAnnotation.method(); // to get the request method type
System.out.println(+i + ":Method : " + method2.getName() + " is secured ");
//System.out.println("Requestion method type : "+methods[0].name());
Class[] parameterTypes = method2.getParameterTypes();
for (Class class1: parameterTypes) {
userDefinedParams = new UserDefinedParams();
strClassNameToFix = class1.getName();
strClassname = strClassNameToFix.replaceAll("\\[L", "").replaceAll("\\;", "");
if (class1.isArray()) {
//classObj = strClassnames.substring(strClassnames.lastIndexOf('.')+1, strClassnames.length()-1);
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("Y");
paramsList.add(userDefinedParams);
} else if (class1.isPrimitive() && class1.isArray()) {
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("Y");
paramsList.add(userDefinedParams);
} else {
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("N");
paramsList.add(userDefinedParams);
}
System.out.println("strClassname : " + strClassname);
}
paramsMap.put("url_" + i, requestMappingValues[0]);
paramsMap.put("params_" + i, paramsList);
我嘗試循環:
for (Object key: paramsMap.keySet()) {
uri = "http://localhost:8080/api" + paramsMap.get(key);
statusCode = httpRequest.handleHTTPRequest(client, uri);
System.out.println("Statuscode : " + statusCode);
}
我得到以下異常:
java.lang.IllegalArgumentException
,因爲它第一次得到url
正確,但它錯過了params
。
我想分開的URL和paramList
,以便我可以處理它。
我想獲取URL的URL和相應的參數列表,並將paramList轉換回userdefined和進一步的過程的值。
恐怕會有數據存入List的命令嗎? – 2013-04-25 09:58:26
是的。訂單是使用「List」的實際要點。 – 2013-04-25 10:00:20
嗨Vakh非常感謝,它的工作,我改變了我的方式放置東西,並改變你的建議。它現在就像魅力一樣。 :)建議的+1。 – 2013-04-25 10:09:36