精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-29
奇怪,我之前测试的class A implements IExportable不需要做这个操作。
怎么你那个还是出错? 发你的测试给我看看吧: yongyuan.jiang@gmail.com |
|
返回顶楼 | |
发表时间:2007-11-29
按照樓主的意思寫成
存入: gwtSession.put("objectTest", AuthenticationHelper.helper.doExport(auth)); 取出: Window.alert("objectTest getCredential -> " + ((Authentication) AuthenticationHelper.helper.doImport((JavaScriptObject) GWTSessionAccessor.get().get("objectTest"))).getCredential()); 這次也是ClassCastException, 但變成 JavaScriptObject [ERROR] Unable to load module entry point class myFrameTest.inner.client.Inner (see associated exception for details) java.lang.ClassCastException: com.google.gwt.core.client.JavaScriptObject cannot be cast to com.google.gwt.core.client.JavaScriptObject at myFrameTest.inner.client.Inner.onModuleLoad(Inner.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:342) at com.google.gwt.dev.shell.BrowserWidget.attachModuleSpace(BrowserWidget.java:326) at com.google.gwt.dev.shell.ie.BrowserWidgetIE6.access$200(BrowserWidgetIE6.java:36) at com.google.gwt.dev.shell.ie.BrowserWidgetIE6$External.gwtOnLoad(BrowserWidgetIE6.java:70) at com.google.gwt.dev.shell.ie.BrowserWidgetIE6$External.invoke(BrowserWidgetIE6.java:125) at com.google.gwt.dev.shell.ie.IDispatchImpl.Invoke(IDispatchImpl.java:293) Orz... |
|
返回顶楼 | |
发表时间:2007-11-29
ok了。
public class GWTSession implements IExportable { HashMap map = new HashMap(); public Object putA(String key,Authentication value){ return map.put(key, value); } public Authentication getA(Object key) { return (Authentication) map.get(key); } } 需要显示写出该类,exporter才会自动将他export和import. |
|
返回顶楼 | |
发表时间:2007-11-29
session.putA(new Authentication ());
session.getA("key"); |
|
返回顶楼 | |
发表时间:2007-11-29
謝謝樓主的耐心指點, 已經能成功互相share 了, 雖然必須在GWTSession 定義所有可能要放入map 的class 的put /get method, 有點不便, 但至少滿足了GWTSession 應有的功能
嘗試了一下, put 不用另行寫putA, 用原本的put(String key, Object value) 已經可以, 但必須用public Authentication getA(String key)取出 gwt-object-exporter 的出現比網絡上以serialize/deserialize 的方法去share object between widget , 無論在易用性, 效率, 和即時同步性都實在好太多! 仍然期待樓主的應用示範. |
|
返回顶楼 | |