2011-08-16 26 views
0

我在Google Toolkit中使用了eclipse,我創建了一個帶有列表框,垂直分割面板和幾個按鈕的小部件。我想要做的是在列表框中列出的本地目錄中有文件列表,我希望能夠單擊文件並將其顯示在拆分面板的頂部。我發現了瀏覽器和文件IO的難題,無法使用java.io.File。如何將測試數據加載到我的GWT Widget中?

我有什麼選擇?我可以將數據文件放入jar或其他東西中,讓小部件以這種方式讀取它嗎?我需要將其作爲測試運行來實現一個處理數據的新功能。它不會是任何一種最終的服務器託管應用程序,我不關心未來如何加載實際文件。

任何建議將不勝感激。

尊敬, DemiSheep

回答

1

如果你只需要一個硬編碼的值列表來直觀地測試你的小部件,你可以簡單地把這些值放在一個字符串數組中,並從那裏加載它。或者你可以使用RequestBuilder從服務器獲取字符串。你可以在你的war目錄中保存一個簡單的文件(CSV,XML,JSON等),並使用Request Builder構建這個文件。從GWT developer guide

示例代碼:

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 
} 

確保您繼承了HTTP模塊:

<inherits name="com.google.gwt.http.HTTP" /> 
+0

是啊,要去硬編碼文件的情侶。 – DemiSheep

0

,因爲它涉及到GWT,有發送到瀏覽器作爲一個.jar文件沒有這樣的事情。

來獲取文件的最簡單的事情將是

  1. 把服務器上的文件
  2. 通過獲取它們的HTTP調用

記住同源-政策適用於GWT,因爲它是基礎所有javascript-限制

1

使用JUnit創建測試用例!

這是官方的Google網站,描述了使用JUnit和varios測試方法進行測試:Google Web Toolkit: Testing。你在這裏肯定會找到解決方案^^

相關問題