2012-01-13 14 views
14

Bir Java sınıfını GWT istemci kodu ve sunucu kodu arasında "paylaşma" mümkün müdür?GWT istemci kodu ve sunucu kodu arasında nasıl bir sınıfı paylaşabilirim?

Sadece birkaç tane Strings ve birkaç tane List<String> içeren basit bir sınıfa sahibim. Bu sınıfı, yalnızca bazı tutarlılık için hem istemci tarafında hem de sunucu tarafı kodunda kullanabilmek istiyorum.

Sadece biraz arka plan vermek için, paylaşmaya çalıştığım sınıf, bazı ek bilgiler içeren bir hata iletisi için yalnızca bir kapsayıcıdır. Uygulamamda, tasarrufları engelleyen bazı hatalar var, bu yüzden müşteri tarafındaki kontrolleri yapıyoruz (kaydetmeden önce). Daha sonra, kaydettikten sonra, sunucu tarafındaki kayıtlı nesne üzerinde daha fazla "doğrulama" kontrolleri yaparız.

GWT derlemesi için bir kez ve bir kez normal javac derlemesi için bir kez "derlenmiş" olmasının gerekeceğini anlıyorum, ancak bu mümkün gibi görünüyor.

GWT projemi bunun için ayarlamanın bir yolu var mı?

cevap

18

GWT kullanmanın nedenlerinden biri, istemci ve sunucu için tek etki alanı modeline sahip olmaktır.

Sunucu kodu ve istemci tarafı arasında paylaşılan sınıfların olması yaygın bir uygulamadır. GWT istemci kaynak kodu ile

Genellikle Proje üç paket

shared paket server pakete konulur java bayt kodu ve javascript, javascript client ve sunucu tarafı mantığa hem derler
com.yourpackage 
       -shared 
       -client 
       -server 

kadar böler.

İstemci için derleme yolu *.gwt.xml dosyasında yapılandırılabilir.

+3

GWT standardı, 'shared' adını kullanmaktır. Olduğu söyleniyor, iyi cevap. +1 –

+0

Chris, katılıyorum, teşekkürler. –

+4

Teşekkürler Mairbek, bu benim için çalıştı. Sadece biraz daha spesifik olmak gerekirse, "paylaşılmış" bir paketimiz yoktu, bu yüzden yeni bir paket oluşturmam gerekiyordu. Ayrıca * .gwt.xml dosyasına bir satır eklemek zorunda kaldım: '' – cshanes

İlgili konular