У меня есть класс, который требует доступа к объекту запроса.java - request.getParameter Автоматически Преобразует закодированный HTML в эквивалентный символ ASCII
имеет подобный код:
String param = request.getParameter("param");
Он отлично работает для обычных param
значений, как, скажем, xyz
, abc
и т.д.
Но когда param
содержит escapedHTML
как ,
или "
то в запросе они передаются как это (я проверил использование debug в eclipse), но когда я пытаюсь получить эти параметры из объекта запроса, они преобразуются обратно в их эквивалентное представление символов ASCII.
Так сказать Если param
содержит Banana,Apple
Это будет получено как Banana,Apple
и так далее.
т.е.
Request: /myserv.serv?param=Banana,Apple
Так что мой вопрос: Как получить Исходное значение из запроса? и Как остановить это автоматическое преобразование?
Заранее спасибо.
Попробуйте 'request.getQueryString()' и разделить '&' и '=', чтобы получить исходный параметр запроса – Braj
лучше избегать символов при определении значений параметров. Как сервер приложений знает, что «&» была фактически частью значения, а не маркером для определения следующего набора пар имя/значение? –
Это обычно происходит, когда кодировка в jsp отличается от кодировки по умолчанию для серверной платформы (charset). Вы можете попробовать вызвать ServletRequest.setCharacterEncoding перед вызовом любого из методов request.getParameter –