2011-08-25 15 views
8

GWT'nin argüman olmadan neden çalışmadığını bilmek isterim? Gwt.codesvr = 127.0.0.1: 9997 url, I´ modülleri hardcoding modülleri arasında yeniden yönlendirme ve bu satırı mesajın gösterilmemesi için ayarlamam gerekiyor: Module XXX (Yeniden) derlenmeli.Neden GWT çalışmıyor? Gwt.codesvr = 127.0.0.1: 9997

ben biz moduna konak modundan değiştirecek zaman gelecekte bu URL'ler değiştirmek zorunda değil umut

...

Yani diğer bir birine bir modülden bağlamak için daha iyi bir yolu var mı? Ben şimdiden teşekkürler:

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

Şimdiden teşekkürler.

cevap

8

Bu sorgu dizesi argümanı, tarayıcınıza yüklediğiniz dev mod eklentisini yüklemeyi tetiklemek için * .nocache.js tarafından incelenir, böylece belirlenen DevMode uygulamasına geri bağlanır.

Sayfalar arasında yeniden yönlendirmeniz gerektiğinde ve bunların her ikisini de dev modda veya web modunda çalıştırmanız gerektiğinde, en kolay argümanı koşullandırmaktır (eğer mümkünse, kodlanmış olarak değil de varolan değerden alınan değerle)) !GWT.isProdMode() için:

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

sadece bir gwt.codesvr parametresi yok veya mevcut olmayabilir, bir UrlBuilder kullanarak bile daha basit yapabilirsiniz bekleniyor bu yüzden sen, bir sorgu dizesi kendin kullanmıyorsanız:

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. 

ve koşulsuzca, sorgu dizesi etrafında kopyaladığı gibi, uygulama çalıştırıldığı geçerli "mod" için bile koşullandırılmış değil.

+0

'GET.getHostPageBaseURL()' şema, ana makine: bağlantı noktası dahil olmak üzere mutlak URL'yi döndürür. Bunu setPath() 'da kullanmak hatalı biçimlendirilmiş URL'ye neden olur. Ancak, setPath() işlevini tamamen çağırmayı atlarsanız, normal GWT tek sayfalık webapp için çalışan sayfanın geçerli URL'sini varsayar. – spoulson

0

Bu parametre yalnızca geliştirme modu içindir. Eğer URL'leri bu parametreye kodlamakta zorlanıyorsanız, emin olun ki bu yanlıştır.