2014-10-16 3 views
1

У меня есть модуль GWT и в ней я перейти к другому URL с помощью:GWT дело с ошибкой запроса

Window.Location.assign(url); 

с навигацией URL не затем обрабатывается сервлетом, вплоть до этого момента, если произошла ошибка это ручка от resp.sendError Methode

resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Failed."); 

который затем перейдите к странице ошибок браузеров. Однако я хотел знать, есть ли там, я не могу перейти на страницу с ошибкой? то есть я мог бы проверить свой код GWT, если произошла ошибка, а затем что-то сделать? Как повторно отправить запрос ect.

Спасибо!

+0

Ваш вопрос непонятен. Можете быть более конкретными ? – Pintouch

+0

Является ли сценарий непонятным или что я не понимаю? – jonatzin

ответ

2

Когда вы перемещаетесь от своего веб-приложения, это так. Вместо использования Window.Location.assign вы должны сделать HTTP request still from your webapplication, например, используя RequestBuilder.
Пример из документации, упомянутой ранее:

import com.google.gwt.http.client.*; 
... 

String url = "http://www.myserver.com/getData?type=3"; 
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); 

try { 
    Request request = builder.sendRequest(null, new RequestCallback() { 
    public void onError(Request request, Throwable exception) { 
     // Couldn't connect to server (could be timeout, SOP violation, etc.) 
    } 

    public void onResponseReceived(Request request, Response response) { 
     if (200 == response.getStatusCode()) { 
      // Process the response in response.getText() 
     } else { 
     // Handle the error. Can get the status text from response.getStatusText() 
     } 
    } 
    }); 
} catch (RequestException e) { 
    // Couldn't connect to server 
} 

Обратите внимание, что это будет работать только если ваш сервлет и WebApplication находятся на тот же адрес (домен, порт, протокол), из-за Same Origin Policy. Если это не так, есть еще some options, как JSON с отступом (который поддерживает GWT через JsonpRequestBuilder).

+0

Спасибо, Игорь, я проверю его и дам вам знать – jonatzin

Смежные вопросы