Bilmem gerekenler (GWT kullanarak), bazılarının yerine bazı sınıfların HTTP GET değerine göre yüklenme stratejisi.GWT - Bir değer nasıl alınır ve hangi sayfanın yükleneceğine karar verir
Örnek:
// Main.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.google.gwt.user.User"/>
<entry-point class="org.sinfonet.client.PageLoader"/>
</module>
// PageLoader
package org.sinfonet.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.RootPanel;
public class PageLoader implements EntryPoint {
public void onModuleLoad() {
FlowPanel pageloader=new FlowPanel();
pageloader.add(new MainHomePage());
RootPanel.get().add(pageloader);
}
}
benim GET
http://localhost:8084/GWT/index.html
ise, ben MainHomePage()
yüklemek istiyorum;
Diğerleri, benim GET
benim http://localhost:8084/GWT/index.html?page=2
ise, MainAnotherClass()
;
Bunu PageLoader sınıfında, XML'de mi, yoksa nerede uygulamalıyım? Ben xml düşünüyorum, çünkü PageLoader bir istemci tarafı sınıf ... burada bir karar almak için bir yol yoktur.
P.S. Başka bir sayfa (diğer ad, başka bir ana sınıf) yüklemek istiyorum, dinamik olarak yüklemiyorum.
ÖRNEK I this çözümün Chris Boesing
için, i gerekenleri yapmak kod kolay bir parça buldum
Teşekkür TRIED. Talihsiz bir şey yanlıştır, çünkü .clear()
yöntemini çağırır, ancak yeni kapsayıcımı eklemez. Bu şu kod:
public class PageLoader implements EntryPoint, ValueChangeHandler<String> {
private FlowPanel pageloader;
private GWTServiceAsync rpcService;
public void onModuleLoad() {
pageloader=new FlowPanel();
rpcService=GWT.create(GWTService.class);
pageloader.add(new HomepageContext(rpcService));
RootPanel.get().add(pageloader);
History.addValueChangeHandler(this);
if(!History.getToken().isEmpty()){
changePage(History.getToken());
}
}
public void onValueChange(ValueChangeEvent event) {
changePage(History.getToken());
}
public void changePage(String token) {
if(History.getToken().equals("apartment")) {
pageloader.clear();
pageloader.add(new ApartmentContext(rpcService));
} else {
pageloader.clear();
pageloader.add(new HomepageContext(rpcService));
}
}
}
Neyin var?
Ben servlet konteyner URL'sini temel yüklemesi yapmak hangi sayfasını seçer programı olduğuna inanıyoruz. Bunun mümkün olup olmadığını bile bilmiyorum ama hangi sunucuyu kullandığınıza bağlı olacak? Tomcat kullanıyor musun? GAE'nin? JBoss? – Pace
Tomcat :) Ama GWT'de ana sunucu hangisi? Ben doğrudan GWT ile yönetemez düşünüyorum, ya da belki ben bilmiyorum ... – markzzz