Получить набор символов ascii как набор символов ascii в сервлете - PullRequest
1 голос
/ 19 сентября 2011

Используя jsp, мы печатаем это значение Hh’k в скрытом поле и затем отправляем его.Затем в сервлете мы получаем его как параметр Hh'k, вместо этого мы хотим получить это как Hh’k.

Есть предложения?

1 Ответ

2 голосов
/ 19 сентября 2011

Браузер не делает этого, потому что нет причин. Он просто URL-кодирует, специальные символы соответствуют контракту application/www-x-form-urlencoded, который автоматически URL-декодируется путем вызова getParameter().

Если вам действительно нужно XML-экранировать их, вам нужно будет сделать это самостоятельно после получения параметра запроса. Apache Commons Lang StringEscapeUtils#escapeXml() полезен в этом:

String foo = request.getParameter("foo");
String escapedFoo = StringEscapeUtils.escapeXml(foo);
// ...

Однако, с чего бы вы это сделали? У вас есть проблемы с их повторным отображением в HTML? Для этого есть гораздо более простое решение: просто используйте UTF-8 везде . Например. добавьте следующее в верхней части вашего JSP:

<%@page pageEncoding="UTF-8" %>

Etcetera.

...