Выход и в URL

Я использую jsps, и в моем URL у меня есть значение для переменной, любят, заявляет "L & T". Теперь, когда я пытаюсь получить значение для него при помощи request.getParameter Я добираюсь только "L". Это распознает "и" как разделитель, и таким образом это не становится продуманным, в целом представляют в виде строки.

Как я решаю эту проблему?

9
задан Bozho 4 February 2010 в 07:28
поделиться

3 ответа

java.net.URLEncoder.encode("L & T", "utf8")

это выводит URL-кодировку, которая подходит в качестве параметра GET:

L+%26+T
16
ответ дан 4 December 2019 в 11:41
поделиться

Литеральный амперсанд в URL-адресе должен быть закодирован как: % 26

// Your URL
http://www.example.com?a=l&t

// Encoded
http://www.example.com?a=l%26t
1
ответ дан 4 December 2019 в 11:41
поделиться

Чтобы избежать этой проблемы, необходимо "кодировать URL" параметры. Формат строки запроса URL: ...?=&=& Все s и s должны быть закодированы в URL, что в основном означает преобразование всех символов, которые могут быть неправильно интерпретированы (например &) в значения в %. См. эту страницу для дополнительной информации: http://www.w3schools.com/TAGS/ref_urlencode.asp

Если вы генерируете проблемный URL с Java, вы используете этот метод: String str = URLEncoder.encode(input, "UTF-8");

Генерируя URL в другом месте (некоторые шаблоны или JS или сырая разметка), необходимо исправить проблему в исходном коде.

1
ответ дан 4 December 2019 в 11:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: