Per il lato client è possibile utilizzare Window.Location
Ad esempio:
public static String getUrlString(String path) {
UrlBuilder urlBuilder = new UrlBuilder();
urlBuilder.setHost(Window.Location.getHost());
urlBuilder.setPath(path);
String port = Window.Location.getPort();
if (!port.isEmpty())
urlBuilder.setPort(Integer.parseInt(port));
return urlBuilder.buildString();
}
Un altro approccio è quello di utilizzare GWT Dictonary. Qui si include un frammento di JavaScript nella pagina HTML host per impostare il valore:
<script type="text/javascript" language="javascript">
var location = { baseUrl: "http://localhost:8080/myapp" };
</script>
Poi caricare il valore nel lato client con GWT Dizionario:
Dictionary theme = Dictionary.getDictionary("location");
String baseUrl = theme.get("baseUrl");
Per utilizzare questo sarebbe necessario cambia la pagina host HTML per le istanze locali e di produzione.
fonte
2011-12-05 22:04:10
Cosa fate voi significa "ottieni l'URL di base dell'app"? All'interno del tuo servlet o sul lato client? – Vladimir