2012-09-27 114 views
2

假設我在http://example.com/foo舉辦了一個項目。我在http://example.com/foo/GwtModule目錄中放置了所有GWT文件(在編譯後在/ war /目錄中生成)。關於GWT基地網址的問題

然後,我的主頁,這是http://example.com/foo/bar上,我把在HTML中的以下內容:

<script type="text/javascript" src="http://example.com/foo/GwtModule/GwtModule.noCache.js"></script>

我的問題是:

  • 將GWT知道從富/ GwtModule文件夾中獲取它的資源(例如CSS文件),而不是試圖從富/欄文件夾獲取它們呢?

  • 如果我想發送一個HTTP請求到富/註冊,將GWT.getModuleBaseUrl() + "signup"工作,否則我將不得不解析基地址,刪除「/酒吧」,並將其替換爲「/註冊」?

  • 如果我在Web服務器上本地運行的代碼,以及將GWT自動確定的基本網址爲http://localhost/foo/barhttp://example.com/foo/bar,或是否需要進行硬編碼的基本URL的地方?

回答

3

將GWT知道從富/ GwtModule文件夾中獲取它的資源(例如CSS文件),而不是試圖從富/欄文件夾獲取它們呢?

是的。
GWT始終將解析腳本URL的模塊基礎(或特殊<meta name='gwt:property'>

如果我想發送一個HTTP請求到foo /註冊,將GWT.getModuleBaseUrl()+「註冊」的工作或者我將不得不解析基礎網址,刪除「/ bar」並用「/ signup」替換它?

GWT.getModuleBaseURL()將是/foo/GwtModule/
您可以使用GWT.getModuleBaseURL() + "/../signup""GWT.getHostPageBaseURL() + "/signup",在您的情況下,它們都會解析爲相同的/foo/signup網址。

如果我在Web服務器上本地運行的代碼,以及將GWT自動確定的基本網址爲http://localhost/foo/barhttp://example.com/foo/bar,或是否需要進行硬編碼的基本URL的地方?

查看第一個問題的答案。
這意味着您必須在主頁中使用<script src="GwtModule/GwtModule.nocache.js"><script src="/foo/GwtModule/GwtModule.nocache.js">

+0

非常棒的隊友,非常感謝你的回答。 –