2010-07-20 15 views
17

में मैं गूगल वेब टूलकिट में हो रही है, और एक छोटे से GWT में प्रवेश बिंदुओं के बारे में उलझन में हूँ। गूगल के डॉक्स कहते हैं:एकाधिक प्रवेश बिंदुओं GWT

आप एक से अधिक EntryPoints (इंटरफेस को परिभाषित करता है onModuleLoad()) एक मॉड्यूल के भीतर, वे सब क्रम में जैसे ही कि मॉड्यूल (और बाहरी दस्तावेज़) के रूप में तैयार है बुलाया जाएगा है। आप एक ही पृष्ठ के भीतर कई GWT मॉड्यूल लोड हो रहे हैं, प्रत्येक मॉड्यूल के EntryPoint जैसे ही दोनों कि मॉड्यूल और बाहरी दस्तावेज़ के रूप में तैयार है बुलाया जाएगा। दो मॉड्यूल 'एंट्री पॉइंट्स को एक ही समय में आग लगने की गारंटी नहीं है, या उसी क्रम में जिसमें मेजबान पृष्ठ में उनकी चयन स्क्रिप्ट निर्दिष्ट की गई थीं।

तो अपनी वेबसाइट के प्रत्येक पृष्ठ एक प्रवेश बिंदु इसके लिए परिभाषित करने की जरूरत है?

आप केवल वास्तव में एक प्रवेश बिंदु की जरूरत है आप अपने जावा वर्गों के आधार पर जेनरेट जावास्क्रिप्ट है जब?

आप एक ही * .gwt.xml फ़ाइल में एकाधिक स्वत: जनरेट-js परिभाषाओं गठबंधन करने के लिए सक्षम हैं?

संपादित करें: उद्धृत स्रोत के लिए लिंक: http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html

धन्यवाद!

उत्तर

10

एक जीडब्ल्यूटी ऐप बनाने का सबसे सरल तरीका पूरे एप्लिकेशन के लिए एक पृष्ठ होना है, और एक शीर्ष-स्तर module (.gwt.xml file में परिभाषित) है। प्रत्येक मॉड्यूल में एक EntryPoint वर्ग होता है। फिर आपके सभी अलग-अलग "पृष्ठ" एक ही पृष्ठ के उप-वर्ग हैं, आदर्श रूप से गैर-AJAX वेब ऐप में राज्य परिवर्तनों का ट्रैक रखने के लिए जीडब्ल्यूटी के इतिहास तंत्र का उपयोग करते हुए नए पृष्ठ होंगे। इसलिए यदि आप चीजों को इस तरह से सेट करते हैं तो आपको अपने पूरे ऐप के लिए एक एंट्रीपॉइंट की आवश्यकता होगी।

डॉक्स कि आप उद्धृत की बिट (लिंक?) पर चर्चा मैं क्या सोचता हूँ एक उन्नत उपयोग के मामले में, जहां आप एक से अधिक मॉड्यूल है कि आप एक ही पृष्ठ पर लोड कर रहे हैं मिल गया है है।

+0

दिलचस्प, मैं देख सकता हूं कि यह कैसे काम करेगा जहां आपका नेविगेशन मेनू मुख्य सामग्री पैनल ("मानक" पृष्ठ लेआउट में) में प्रदर्शित होता है, लेकिन फिर कुछ पेज इस लेआउट को तोड़ते हैं (यानी लॉगिन पृष्ठ) क्या आपको ऐसे पृष्ठों के लिए एक अलग प्रविष्टि बिंदु चाहिए? – Adam

+0

ठीक है, तो मेरे लॉगिन पेज प्रश्न के बारे में सोचने के बाद, क्या निम्न सेटअप समझ में आता है: - लॉगिन पृष्ठ - उपयोगकर्ता अपने ओपनआईडी मानदंडों में प्रवेश करता है, फॉर्म-सबमिट दबाता है, जो प्रमाणीकरण सर्वलेट पर वापस कॉल करता है। सफल प्रमाणीकरण पर, यह उपयोगकर्ता को ऐप के एंट्रीपॉइंट की ओर निर्देशित करता है (हम इसे किसी प्रकार का डैशबोर्ड कहेंगे); अगर लेख विफल रहता है, तो सर्वलेट प्रदर्शन के लिए लॉगिन पेज पर एक संदेश देता है। मैं इस अर्थ तो आप ऐप के js फ़ाइल को लोड नहीं करना चाहता जब तक आप सुनिश्चित करें कि उपयोगकर्ता को प्रमाणित सकते थे के रूप में करता है आंकड़ा। प्रमाणीकरण स्वयं 1-आयामी है। – Adam

+1

यह करने का एक अच्छा तरीका होगा। एक और तरीका यह है कि लॉग इन पेज सहित पूरी चीज है, अपने जीडब्ल्यूटी ऐप का हिस्सा बनें और यह सुनिश्चित करने के लिए कोड स्प्लिटिंग का उपयोग करें कि केवल लॉगिन कार्यक्षमता को शुरू करने के लिए लोड किया जाए (देखें http://code.google.com/webtoolkit/ दस्तावेज़/नवीनतम/DevGuideCodeSplitting.html) – aem

-1

एक विकल्प है, यू उप परियोजनाओं के साथ मेवेन प्रोजेक्ट बना सकता है, इसका मतलब है कि यू बहु प्रवेश बिंदु बना सकता है,
प्रत्येक प्रविष्टि बिंदु का अपना HTML है। See more details

+1

क्या आप उस पृष्ठ की कुछ सामग्री शामिल कर सकते हैं जिसमें आपका लिंक इंगित करता है? यह आपके उत्तर में कुछ संदर्भ जोड़ देगा और अगर भविष्य में लिंक मर सकता है तो यह समझ में रहेगा। –