说我正在http://example.com/foo举办一个项目。我在http://example.com/foo/GwtModule目录中放置了所有GWT文件(在编译后在/ war /目录中生成)。
然后在我的主页上http://example.com/foo/bar,我将以下内容放在HTML中:
<script type="text/javascript" src="http://example.com/foo/GwtModule/GwtModule.noCache.js"></script>
。
我的问题是:
GWT是否知道从foo / GwtModule文件夹中获取资源(例如css文件)而不是尝试从foo / bar文件夹中获取它们?
如果我想向foo / signup发送HTTP请求,GWT.getModuleBaseUrl() + "signup"
会工作还是必须解析基本网址,请从中移除“/ bar”并将其替换为“/ signup” “?
如果我在本地以及在Web服务器上运行代码,GWT会自动确定基本网址是http://localhost/foo/bar
还是http://example.com/foo/bar,还是我需要硬编码基地网址?
答案 0 :(得分:3)
GWT是否知道从foo / GwtModule文件夹中获取其资源(例如css文件)而不是尝试从foo / bar文件夹中获取它们?
是。
GWT始终从脚本URL(或特殊<meta name='gwt:property'>
)
如果我想向foo / signup发送HTTP请求,GWT.getModuleBaseUrl()+“注册”会工作还是我必须解析基本网址,从中删除“/ bar”并将其替换为“/注册“?
GWT.getModuleBaseURL()
将为/foo/GwtModule/
您可以使用GWT.getModuleBaseURL() + "/../signup"
或"GWT.getHostPageBaseURL() + "/signup"
,在您的情况下,他们都会解析为相同的/foo/signup
网址。
如果我在本地以及在Web服务器上运行代码,GWT会自动确定基本网址是
http://localhost/foo/bar
还是http://example.com/foo/bar
,还是我需要在某处对基本网址进行硬编码?
见第一个问题的答案
这意味着您必须在主页中使用<script src="GwtModule/GwtModule.nocache.js">
或<script src="/foo/GwtModule/GwtModule.nocache.js">
。