2011-08-25 10 views
8

Chciałbym wiedzieć, dlaczego GWT nie działa bez argumentu? Gwt.codesvr = 127.0.0.1: 9997 w adresie URL, I' m przekierowanie pomiędzy modułami hardcoding url's i muszę ustawić, aby ta linia nie pokazywała komunikatu: Module XXX Musi być (ponownie) skompilowana.Dlaczego GWT nie działa bez? Gwt.codesvr = 127.0.0.1: 9997

Mam nadzieję, że nie trzeba zmieniać tego URL-i w przyszłości, kiedy chciałbym zmienić z trybu hosta do trybu We ...

Więc jest jakiś lepszy sposób, aby połączyć się z modułu do drugiego? Współpracuję z:

GWT.getHostPageBaseURL() + "UserRegistration.html ?gwt.codesvr=127.0.0.1:9997 " 

Z góry dziękuję.

Odpowiedz

8

Ten argument łańcucha zapytań jest analizowany przez * .nocache.js, aby uruchomić ładowanie wtyczki trybu deweloperskiego zainstalowanej w przeglądarce, aby połączyć się z wybraną aplikacją DevMode.

Gdy musisz przekierować między stronami i chcesz, aby wszystkie działały w trybie deweloperskim lub w trybie WWW, najłatwiej jest warunkować argument (jeśli to możliwe, wartością pobraną z istniejącego, a nie zakodowaną na stałe)) do !GWT.isProdMode():

if (!GWT.isProdModode()) { 
    // assumes 'url' doesn't contain a query-string yet 
    url += "?gwt.codesvr=" + Window.Location.getParameter("gwt.codesvr"); 
} 

Jeśli nie użyć kwerendy-string samodzielnie, więc spodziewać się tylko kiedykolwiek istnieć z parametrem gwt.codesvr lub być nieobecny, można zrobić to jeszcze prostsze przy użyciu UrlBuilder:

UrlBuilder builder = Window.Location.createUrlBuilder(); 
builder.setPath(GWT.getHostPageBaseURL() + "UserRegistration.html") 
//don't pass the history token around: 
builder.setHash(null); 
// builder.toString() will then keep the same query string. 

i nie jest nawet warunkowane obecnym "trybem", w którym aplikacja jest uruchomiona, ponieważ bezwarunkowo kopiuje ciąg kwerendy.

+0

'GET.getHostPageBaseURL()' zwraca bezwzględny adres URL, w tym schemat, host: port. Użycie tego w 'setPath()' powoduje nieprawidłowy adres URL. Jednakże, jeśli pominiesz wywoływanie 'setPath()' w całości, przyjmuje on bieżący adres URL strony, która działa dla typowej pojedynczej strony WWW GWT. – spoulson

0

Ten parametr dotyczy tylko trybu programowania. Ostrzegam, że jeśli ciężko kodujesz URL z tym parametrem, to na pewno jest źle.

Powiązane problemy