![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
marlborist |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
У меня такая проблема:
Я пытаюсь сделать response.sendRedirect(url); Но возникает ошибка: IllegalStateException. Затем я выяснил что IllegalStateException возникает из - за того что response уже commited. Затем я выяснил что response уже commited потому что в jsp где я вызываю iresponse.sendRedirect(url) есть include jsp файлы. Подскажите пожалуйсто как сделать так чтобы response небыл сommited или как в таком случае сделать redirect. |
|||
|
||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Если есть возможность, сделайте Redirect до включения другой страницы
(на самом деле это ведь, обычно делается в самом начале). include можно сделать двумя способами 1. <%@ include file=”...” %> 2. <jsp:include page=”...” /> Попробуйте заменить способ включения страницы. И еще, посмотрите исходный код, который сгенерировал контейнер |
|||
|
||||
ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
Response становится commited, когда сбрасывается (flush) буфер ответа, т.е. первые строчки уже полетели клиенту.
После этого послать ему redirect-овый http-ответ уже нельзя. Мораль: надо или менять логику (делать редирект по условию, проверку этого условия в начале) или поиграться с буфером (никакого фрейдизма ;-). Отлючить autoflush буфера и сбрасывать его вручную или сделать побольше размер буфера. Но это все полумеры - надо менять логику. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |