Проблема кодирования клапана jboss при перезаписи URL - PullRequest
0 голосов
/ 30 июня 2010

У меня есть приложение, закодированное с ejb3, jsf и maven, которое работает на jboss 4.2.2GA

Проблема, с которой я столкнулся в течение 2 дней, заключается в том, что я не могу преобразовать неанглийские символы, которые добавляются в URL во время выполнения. Например, есть текстовое поле поиска и кнопка. Когда пользователь вводит слово, содержащее неанглийские символы, и нажимает кнопку, оно добавляется в URL с плохими символами, такими как% 56 или & 347 и т. Д.

Есть ли способ достичь того, что я пытаюсь сделать здесь? Кстати, есть ли способ преодолеть эту проблему в конфигурации на стороне jboss, а не на стороне приложения (фильтры или context.xml и т. Д.)?

Любая помощь будет оценена Большое спасибо, Барис

- РЕДАКТИРОВАТЬ : я решил эту проблему с помощью URLEncoder. Когда я передал переменную в метод действия, я использую URLEncoder, чтобы закодировать ее в правильную кодировку.

Пример: Взять параметр из URL: String someString = ServletActionContext.getRequest (). GetParameter ("someStringFromURL"); Кодировать строку; String encoded = URLEncoder.encode (someString, "ISO-8859-9");

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Найдите соответствующий элемент соединителя в вашем tomcat server.xml (deploy / jboss-web.deployer / server.xml для последних версий) и добавьте атрибут URIEncoding со значением UTF-8.

0 голосов
/ 24 февраля 2011

Я решил эту проблему с помощью URLEncoder. Когда я передал переменную в метод действия, я использую URLEncoder, чтобы закодировать ее в правильную кодировку.

Пример: взять параметр из URL:

String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 

Кодировать строку;

String encoded = URLEncoder.encode(someString, "ISO-8859-9");
...