2009-06-01 10 views
11

簡単な質問。 GWT で新しいページにリダイレクトするGETリクエストを作成する必要がありますが、適切なAPIが見つかりません。GWT - GETリクエストを作成する

1つはありますか?私は単純にURLを自分で作成してからWindow.Location.replaceするのですか?

おかげで(理由は、私は私の検索ページがリンク可能になりたいということです)。

(と最初は、十分な私の質問は明らかにしないために残念)

+0

私は私の質問は、つまるところ推測: どのようにGWTを使用して複数のページを持つことができますか? – Chris

+0

「複数のページ」とはどういう意味ですか? – Chii

答えて

2

新しいページへのリダイレクトは、Window.Location.replaceで行います。

複数のページは、履歴メカニズムを使用して処理する必要があります。

12

は、通常のサーブレットを使用してからあなたを禁止するものではありません http://library.igcar.gov.in/readit2007/tutori/tools/gwt-windows-1.4.10/doc/html/com.google.gwt.http.client.html

public class GetExample implements EntryPoint { 

    public static final int STATUS_CODE_OK = 200; 

    public static void doGet(String url) { 
     RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); 

     try { 
      Request response = builder.sendRequest(null, new RequestCallback() { 
       public void onError(Request request, Throwable exception) { 
        // Code omitted for clarity 
       } 

       public void onResponseReceived(Request request, Response response) { 
        // Code omitted for clarity 
       } 
      }); 

     } catch (RequestException e) { 
      // Code omitted for clarity 
     } 
    } 

    public void onModuleLoad() { 
     doGet("/"); 
    } 
} 
2

GWTを見てみましょう。

あなたはあなたの「web.xmlファイル」ファイルにサーブレットを宣言することができます。

<servlet> 
    <servlet-name>myServlet</servlet-name> 
    <servlet-class>org.myapp.server.MyServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>myServlet</servlet-name> 
    <url-pattern>/myurl/*</url-pattern> 
</servlet-mapping> 

、その後、あなたのサーブレットを実装することができます:あなたは別のウィンドウを開いている場合は

public class MyServlet extends HttpServlet { 

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws 
     IOException { 

     // your code here 

} 

} 
1

、それは簡単:

Window.open(url, windowName, "resizable=yes,scrollbars=yes,menubar=yes,location=yes,status=yes"); 

Silfverstromが示唆するようにそれ以外の場合は、RequestBuilderを使用しています。

0

answer from ivoと同様です。 web.xmlファイルのservlet-mappingではなく、filter mappingというGWT todomvcフレームでこれを行うことができます。

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
       http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee"> 

    <filter> 
    <filter-name>guiceFilter</filter-name> 
    <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> 
    </filter> 

    <filter-mapping> 
    <filter-name>guiceFilter</filter-name> 
    <url-pattern>/myurl/*</url-pattern> 
    </filter-mapping> 

    <listener> 
    <listener-class>com.todomvc.server.ToDoServerInjector</listener-class> 
    </listener> 

    <!-- Default page to serve --> 
    <welcome-file-list> 
    <welcome-file>GwtGaeChannelToDo.html</welcome-file> 
    </welcome-file-list> 

</web-app> 
関連する問題