2012-09-27 40 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

非常棒的队友,非常感谢你的回答。 –