2012-01-13 11 views
14

क्या जीडब्ल्यूटी क्लाइंट कोड और सर्वर कोड के बीच जावा क्लास को "शेयर" करना संभव है?मैं जीडब्ल्यूटी क्लाइंट कोड और सर्वर कोड के बीच कक्षा कैसे साझा कर सकता हूं?

मेरे पास एक साधारण वर्ग है जिसमें कुछ Strings और कुछ List<String> हैं। मैं कुछ कक्षा के लिए क्लाइंट साइड कोड और सर्वर साइड कोड दोनों में इस कक्षा का उपयोग करने में सक्षम होना चाहता हूं।

बस कुछ पृष्ठभूमि देने के लिए, जिस वर्ग को मैं साझा करने का प्रयास कर रहा हूं वह कुछ अतिरिक्त जानकारी के साथ एक त्रुटि संदेश के लिए एक कंटेनर है। मेरे आवेदन में कुछ त्रुटियां हैं जो सहेजने से रोकती हैं ताकि हम क्लाइंट पक्ष (बचत से पहले) पर उन चेक कर सकें। फिर सहेजने के बाद, हम सहेजे गए ऑब्जेक्ट पर सर्वर पक्ष पर अधिक "सत्यापन" जांच करते हैं।

मैं समझता हूं कि जीडब्ल्यूटी संकलन के लिए और एक बार सामान्य जावैक संकलन के लिए इसे दो बार "संकलित" करना होगा, लेकिन ऐसा लगता है कि यह संभव होना चाहिए।

क्या ऐसा करने के लिए मेरी जीडब्ल्यूटी परियोजना स्थापित करने का कोई तरीका है?

उत्तर

18

जीडब्ल्यूटी का उपयोग करने का एक कारण क्लाइंट और सर्वर के लिए एकल डोमेन मॉडल होना है।

सर्वर कोड और क्लाइंट साइड के बीच साझा कक्षाएं साझा करना एक आम प्रथा है।

आमतौर पर GWT ग्राहक स्रोत कोड के साथ परियोजना तीन संकुल

com.yourpackage 
       -shared 
       -client 
       -server 

जहां shared पैकेज जावा बाइट कोड और जावास्क्रिप्ट, client जावास्क्रिप्ट, और सर्वर साइड तर्क करने के लिए दोनों को संकलित करता server पैकेज में रखा गया है अप करने के लिए विभाजित होता है।

क्लाइंट के लिए संकलन पथ *.gwt.xml फ़ाइल में कॉन्फ़िगर किया जा सकता है।

+3

जीडब्ल्यूटी के लिए मानक 'साझा' नाम का उपयोग करना है। कहा जा रहा है, अच्छा जवाब। +1 –

+0

क्रिस, सहमत हैं, धन्यवाद। –

+4

धन्यवाद मैरबेक, यह मेरे लिए काम किया। बस थोड़ा और विशिष्ट होने के लिए, हमारे पास "साझा" पैकेज नहीं था इसलिए मुझे एक नया पैकेज बनाना पड़ा। मुझे अपनी * .gwt.xml फ़ाइल में एक पंक्ति भी जोड़नी थी: '<स्रोत पथ = 'साझा' />' – cshanes

संबंधित मुद्दे