SendRedirect внутри GWT RPC не работает с jsp

У меня есть служба GWT RPC, и я делаю что-то подобное внутри своего RemoteServiceServlet:

this.getThreadLocalResponse().sendRedirect("http://127.0.0.1:8888/myapp/errorServlet");

это работает, однако, когда я пытаюсь перенаправить на страницу jsp (http://127.0.0.1:8888/ErrorPage.jsp), ничего не происходит. (без ошибок) и мой URL-адрес на 100% правильный.

Я также пытался использовать

getServletConfig().getServletContext().getRequestDispatcher(URL).forward(request,response);

но результат был тот же.

Пожалуйста помоги


person petros    schedule 07.10.2011    source источник


Ответы (1)


Ответ GWT-rpc не может быть HTML — это должен быть правильный ответ RPC. Я думаю, вы получите ошибку, которая игнорируется в вашем коде GWT — проверьте метод onFailure вашего AsyncCallback или журнал GWT, если вы используете режим разработки, или консоль javascript, если вы пробуете режим производства.

person gkamal    schedule 07.10.2011
comment
Вы правы, я получаю отказ. Итак, есть ли способ перенаправить с помощью POST со стороны сервера в GWT? - person petros; 07.10.2011
comment
Нет, клиентская сторона ожидает возврата java-объекта. Чего вы хотите добиться с помощью редиректа? - person gkamal; 07.10.2011
comment
Я хочу перенаправить на свою страницу с ошибкой, когда внутри службы gwt rpc возникает исключение. (Моя проблема в том, что я не совсем уверен, будет ли метод onFailure перехватывать все исключения (не только HTTP))? Спасибо за помощь - person petros; 07.10.2011
comment
RPC — это вызов AJAX — изменить содержимое браузера невозможно. Вам нужно будет добавить логику в метод onFailure - я думаю, что он будет вызываться всегда. - person gkamal; 07.10.2011
comment
хорошо, спасибо, так как я могу сделать перенаправление с сообщением со стороны клиента? - person petros; 07.10.2011