У меня есть параметр запроса, какКак извлечь параметр запроса в коллекцию значения имени
usrInfo: имя_файл = Firstname & LNAME = Lastname & компании = & addressLine1 = wewqe & addressLine2 = wqewqe & город = Qweqwe & страны = United + States
Я хочу извлечь значения для каждого имени.
Я написал ниже метод, но он не работает, когда нет значения для его соответствующей пары имен.
private String getRequestParamavalue(SlingHttpServletRequest request, String requestParameter, String requestParamName) {
String reqParamValue = null;
if (StringUtils.isNotBlank(request.getParameter(requestParameter))) {
String[] reqParams = request.getParameter(requestParameter).split("&");
Map<String, String> requestParamMap = new HashMap<>();
String value;
for (String param : reqParams) {
String name = param.split("=")[0];
value = StringUtils.isEmpty(param.split("=")[1]) ? "" : param.split("=")[1];
requestParamMap.put(name, value);
}
reqParamValue = requestParamMap.get(requestParamName);
}
return reqParamValue;
}
Пожалуйста, дайте мне совет по этому вопросу. Благодарю.
Если нет соответствующей пары имен. Проверьте длину параметра param.split ("="). –
Возможный дубликат [Разбор строки URI в коллекции значений] (http://stackoverflow.com/questions/13592236/parse-a-uri-string-into-name-value-collection) – Misha