2009-06-01 7 views
11

सरल सवाल। मुझे GWT में एक GET अनुरोध करने की आवश्यकता है जो एक नए पृष्ठ पर रीडायरेक्ट करता है, लेकिन मुझे सही API नहीं मिल रहा है।जीडब्ल्यूटी - जीईटी अनुरोध

क्या कोई है? मुझे बस यूआरएल बनाना है और फिर Window.Location.replace करना है?

धन्यवाद (कारण यह है कि मैं अपने खोज पेज लिंक करने योग्य होने के लिए चाहते है)।

(और शुरू में मेरे सवाल का काफी स्पष्ट नहीं कर रही है, के लिए खेद है)

+0

मैं अपने सवाल करने पर निर्भर करता है लगता है? – Chris

+0

आपका मतलब "एकाधिक पेज" क्या है? – Chii

उत्तर

2

विंडो के साथ एक नए पृष्ठ पर पुनर्निर्देशन किया जाता है। स्थान। स्थान।

इतिहास तंत्र का उपयोग करके एकाधिक पृष्ठों को संभाला जाना चाहिए।

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"); 

अन्यथा, RequestBuilder का उपयोग के रूप में Silfverstrom पता चलता है।

0

answer from ivo के साथ समान। मैं web.xml फ़ाइल में सर्वलेट-मैपिंग के बजाय filter mapping के साथ अपने जीडब्ल्यूटी टोडोवैक फ्रेम में ऐसा कर सकता हूं। मैं कैसे एकाधिक पृष्ठों GWT का उपयोग कर सकते हैं:

<?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> 
संबंधित मुद्दे