2011-10-31 53 views
0

我想讓GWT應用程序在一個portlet中工作。 Portlet是在上下文中形成的頁面的一部分,其他頁面則是整個頁面中的一部分。GWT:是否可以將基本URL設置爲參數?

這使路徑無法正常工作。

例如,和對象

Image logo = new Image("images/online.png"); 

呈現爲

<img class="gwt-Image" src="images/online.png"> 

此路徑是在portlet上下文正確的,但錯誤在根上下文。

是否有可能使GWT查找從getContextPath()開始的路徑?如果可以在main Javascrip主插入之前將一些參數添加到HTML代碼中,那將非常棒。

回答

3

使用GWT.getModuleBaseURL()爲指定的URL加載的所有文件爲您的網址(可能使用..向上移動)的基礎;例如

Image logo = new Image(GWT.getModuleBaseURL() + "../images/online.png"); 

作爲一個經驗法則,總是相對於無論是GWT.getHostPageBaseURL()GWT.getModuleBaseURL()您的網址。

您當然也可以使用ClientBundleImageResource作爲部署無關。

+0

謝謝,這就是它! – Dims

0

你必須把你的GWT加載器腳本放在你想加載其他GWT文件的地方。 GWT模塊URL由加載器腳本的「src」屬性確定。所以,如果你需要一個前綴添加到您的靜態文件的路徑 - 前綴添加到您的裝載機腳本:

<script src="prefix/xxx.yyy.Module.js" type="javascript/text"/> 

GWT將在這個腳本標籤

+0

我想這是行不通的。我已經正確加載腳本。即我寫在我的JSP從 request.getContextPath()+ 「/mymodule/mymodule.nocache.js」 加載腳本,這是在頁面的源代碼呈現爲