![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| LjaO |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.9.2009 Репутация: нет Всего: нет |
Идея состоит в том что бы словить request, добавить в него параметр, и отслать обратно баузеру для повторной посылки. В случае когда в запросе никаких параметров не было - всё работало отлично. Если же у меня есть некоторые параметры в запросе - при редиректе они теряются и остаётся только мой добавленный. Ниже описана проблема потери старых параметров при sendRedirect() и так же преобразование в ljava.lang.String параметров доставаемых из getParametrsMap() Самое простое решение, которое я сейчас вижу - это взять все параметры из request и добавить их в url вместе с новым параметром. Но к сожалению тут я наткнулся на проблему.
В итоге запрос имеет вид ".../luser/filter.action2?SERVERID=2&autoRefresh=[Ljava.lang.String@d2bd3f&...." вместо ".../luser/filter.action2?SERVERID=2&autoRefresh=1?...." Может кто мне подсказать - как эту проблему победить? |
|||
|
||||
| garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
||||
|
||||
| LjaO |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.9.2009 Репутация: нет Всего: нет |
Да так и есть.
ServletRequest::getParametrsMap.get(some_key) возвращает массив строк. Поборол проблему следующим способ :
Самому мне несильно нравиться этот способ .. но он работает .. причём на ура. Быстро и просто. Далее конечно последует code-refactoring Это сообщение отредактировал(а) LjaO - 10.9.2009, 15:30 |
|||
|
||||
| LjaO |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.9.2009 Репутация: нет Всего: нет |
Если кто то подскажет более элегантный способ решения - с удовольствие опробую.
|
|||
|
||||
| andyhomes |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 14.7.2009 Репутация: 2 Всего: 2 |
Используйте:
request.getParameter(...) Нужно понимать, почему параметр (в карте параметров) представлен именно массивом... (Даю наводку: представьте, например, HTML-форму в которой много одноименных input-полей.) |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Допустимая длина url имеет разные значения для разных браузеров и серверов. Обычно не рекомендуется превышать 2000 символов. Это ограничение необходимо учитывать при добавлении параметров в url.
|
|||
|
||||
| necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
жестоко =)
1 нужно учитывать вдруг урл редиректа уже имеет строку вида ?paramName=value 2 У объекта реквест можно получить готовую строку запроса - getQueryString если я не ошибаюсь и не перебирать parameter map 3 Есть классная но сложная для освоения бибилотека http://www.google.ru/search?q=urlrewrite&a...lient=firefox-a 4 ну и наконец можно было просто описать проблему =) может ее можно было бы решить более элегантным способом не прибегая к таким вещам =) -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |