Восстановление URL -адреса без параметра строки запросаJAVA

Программисты JAVA общаются здесь
Anonymous
Восстановление URL -адреса без параметра строки запроса

Сообщение Anonymous »

Допустим, у меня есть страница, которая перечисляет вещи и имеет различные фильтры для этого списка на боковой панели. В качестве примера рассмотрим эту страницу на ebuyer.com, которая выглядит следующим образом:

. Содержит URL -адрес текущей страницы, но без одного параметра строки запроса. То есть, есть ли быстрый способ воспроизвести текущий URL -адрес, но с удаленным параметром строки одного запроса, или мне приходится вручную перестроить URL, прочитав параметры строки запроса, добавив их в базовый URL и пропустив тот, который я хочу оставить?

Код: Выделить всё

    public String removeQueryStringParameter(
HttpServletRequest request,
String paramName,
String paramValue) throws UnsupportedEncodingException {

StringBuilder url = new StringBuilder(request.getRequestURI());

boolean first = true;
for (Map.Entry param : request.getParameterMap().entrySet()) {
String key = param.getKey();
String encodedKey = URLEncoder.encode(key, "UTF-8");

for (String value : param.getValue()) {
if (key.equals(paramName) && value.equals(paramValue)) {
continue;
}
if (first) {
url.append('?');
first = false;
} else {
url.append('&');
}
url.append(encodedKey);
url.append('=');
url.append(URLEncoder.encode(value, "UTF-8"));
}

}
return url.toString();
}
Но есть ли лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/350 ... -parameter

Вернуться в «JAVA»