GWT RequestBuilder проблема - PullRequest
       13

GWT RequestBuilder проблема

1 голос
/ 24 января 2011

Я пытаюсь вставить jsp в наше приложение gwt.Я использую конструктор запросов для этого.Вот мой код:

String url = "http://localhost:8080/my-spring-example/hello.htm";
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
RequestCallback callback = new RequestCallback() {
 public void onError(Request request, Throwable exception) {
  spring.setHTML("Die Daten konnten nicht geladen werden");
 }

 public void onResponseReceived(Request request, Response response) {
  String responseAsText = response.getText();
  if (responseAsText.equals("") || responseAsText == null ){
   spring.setHTML("Der String ist leer");   
  } else {
   spring.setHTML(responseAsText);
  }
 }
};

try {
 rb.sendRequest(null, callback);
} catch (RequestException e) {
 e.printStackTrace();
}

Если я позвоню http://localhost:8080/my-spring-example/hello.htm,, ответ в firebug будет:

<head><title>Hello :: Spring 3 Application</title></head>
<body>
 <h1>Hello World, Spring 3.0!</h1>
 <p>Es gibt 32 Einträge</p>
</body>

Если я сделаю вызов через наше приложение gwt, ответ вfirebug - пустая строка.

Если ii вызов http://localhost:8080/my-spring-example/hello.htm,, ответ в wireshark будет таким:

<head><title>Hello :: Spring 3 Application</title></head>\n
<body>\n
\t<h1>Hello World, Spring 3.0!</h1>\n
\t<p>Es gibt 32 Eintr\344ge</p>\n
</body>

Если я сделаю вызов через наше приложение gwt, ответ в wireshark будетто же самое:

<head><title>Hello :: Spring 3 Application</title></head>\n
<body>\n
\t<h1>Hello World, Spring 3.0!</h1>\n
\t<p>Es gibt 32 Eintr\344ge</p>\n
</body>

Я не могу понять, что не так .... вызов сделан правильно, ответ приходит, но что-то происходит, поэтому клиент gwt показывает только пустую строку в качестве ответа.Я в замешательстве ....

1 Ответ

1 голос
/ 25 января 2011

Я решил проблему ... для вызова jsp я использую localhost, но я вызываю webapp через другой хост. Я должен следовать «Единой политике происхождения» для JavaScript, и теперь все работает нормально.

edit: jsp можно вставить только, если вы используете тот же хост и протокол для вызова. Например - я звоню нашему приложению по номеру http://www.mycompany.com:8080/gwt-client/. Для JSP был вызов http://localhost:8080/my-spring-example/hello.htm. JSP и веб-приложение находятся на разных хостах. Если я изменю вызов jsp на http://www.mycompany.com:8080/my-spring-example/hello.htm, то работает.

...