J'ai un paramètre de requête commeComment extraire le paramètre de demande dans la collecte de valeur du nom
usrInfo: FNAME = prenom & lname = nom & entreprise = & AddressLine1 = wewqe & AddressLine2 = wqewqe & ville = qweqwe & pays = United + States
Je souhaite extraire des valeurs pour chaque nom.
J'ai écrit la méthode ci-dessous mais elle échoue lorsqu'il n'y a pas de valeur pour la paire de noms correspondante.
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;
}
S'il vous plaît, donnez-moi un conseil à ce sujet. Merci.
En l'absence de paire de noms correspondante. Vérifiez la longueur de param.split ("="). –
Copie possible de [Analyser une chaîne d'URI dans la collection Name-Value] (http://stackoverflow.com/questions/13592236/parse-a-uri-string-into-name-value-collection) – Misha