gwt - Why doesn't GWTP allow Object (created by us) to pass through ActionHandler? -
ठीक है, परिदृश्य है।
मेरे पास है:
इन सभी फ़ाइलों को eClipse द्वारा स्वचालित रूप से ग्राहक.जावा द्वारा उत्पन्न किया गया था जो कि स्वयं द्वारा बनाए गए थे। GetCustomerActionHandler.java लेकिन भागने के बाद, मुझे यह गलती हुई: यदि हम सर्वर स्तर पर ऑब्जेक्ट में डेटा नहीं डालते हैं तो हमें इसे ग्राहक स्तर पर रखें, लेकिन यह कोड को बोझिल बना देगा। शायद हम ग्राहक को सीरियलाइज कर सकते हैं या ऐसा कुछ कर सकते हैं ... लेकिन मुझे उस तकनीक के बारे में पता नहीं है। ऐसा क्यों हुआ? क्या आप इसे ठीक करने के लिए जानते हैं? आपका यदि अभी भी यह काम नहीं करता है तो कोशिश करें अधिक जानकारी के लिए देखें। ग्राहक प्रस्तुति.जावा myproject.client पैकेज में।
GetCustomer.java myproject.client पैकेज में।
GetCustomerResult.java myproject.client पैकेज में।
ग्राहक.जावा myproject.shared पैकेज में।
GetCustomerActionHandler.java myproject.server पैकेज में।
CustomerPresenter.java : उपयोगकर्ता टेक्स्ट बॉक्स में ग्राहक विशेषताओं को दर्ज कर सकते हैं & amp; क्लिक बटन फिर सिस्टम को ऐसे ग्राहकों को खोजना चाहिए जो प्रदान की गई विशेषताओं से मेल खाती हैं।
GetCustomer.java ग्राहक विशेषताओं जैसे कि
setCustomerName & amp; getCustomerNames ,
setEmail .. आदि
GetCustomerResult.java में
सेट ग्राहक (ग्राहक) & amp; getCustomer (); // साझा पैकेज से ग्राहक
GetCustomerActionHandler.java से कनेक्ट करें डीबी & amp;
नाम का चयन करें, ईमेल ... तो ग्राहक को इन सूचनाओं को पास करें Ex:
@ ओवरराइड सार्वजनिक GetCustomerResult निष्पादित (GetCustomer कार्रवाई, ExecutionContext संदर्भ) ActionException फेंकता {स्ट्रिंग sql = "चुनें नाम, ईमेल ... से ग्राहक..."; ..... स्ट्रिंग का नाम = dbResults.getString (1); ग्राहक ग = नया ग्राहक (); c.setName (नाम); GetCustomerResult getCustomerResult = नया GetCustomerResult (); getCustomerResult.setCustomer (ग); वापसी प्राप्त ग्राहक ग्राहक परिणाम; }
बंदरगाह पर 8888 [वॉर्न] की शुरूआत करते हुए आने वाली आरपीसी कॉल को भेजते समय com.google.gwt.user। client.rpc.SerializationException: प्रकार 'myproject.shared.Customer' को उन प्रकारों के सेट में शामिल नहीं किया गया था जिन्हें इस सीरियललाइजेशन पॉलिसी द्वारा सीरियल किया जा सकता है या इसके क्लास ऑब्जेक्ट को लोड नहीं किया जा सकता है। सुरक्षा प्रयोजनों के लिए, इस प्रकार को सीरियलकृत नहीं किया जाएगा: उदाहरण = myproject.shared.Customer@31e4aa02 com.google.gwt.user.server.rpc.impl.SherverSerializationStreamWriter.serialize पर (ServerSerializationStreamWriter.java:665) com.google पर .gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject (AbstractSerializationStreamWriter.java:126) ......
ग्राहक वर्ग को
IsSerializable के रूप में लागू करना चाहिए
सार्वजनिक श्रेणी के ग्राहक उपकरण IsSerializable {...}
सार्वजनिक श्रेणी के ग्राहक उपकरण IsSerializable, Serializable {...}
Comments
Post a Comment