我正在尝试使用 Gwtp 实现一个移动网络应用程序。我的桌面和平板电脑视图正常工作,但移动视图出现错误。我正在为桌面、移动和平板电脑视图绑定 3 个不同的演示者。所以这将是不同设备上的不同登录页面。我需要在不同设备上使用不同的登录页面功能。平板电脑上的第一个演示者将是任务列表,但在移动设备上,用户必须先登录才能看到任务列表。此外,一些演示者将通过平板电脑和移动视图共享。
移动模块-
bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.login);
bindPresenter(LoginPresenter.class, LoginPresenter.MyView.class,
LoginView.class, LoginPresenter.MyProxy.class);
bindPresenter(MainListTabletPresenter.class,
MainListTabletPresenter.MyView.class, MainListMobileView.class,
MainListTabletPresenter.MyProxy.class);
平板电脑模块-
bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.mainList);
bindPresenter(MainListTabletPresenter.class,
MainListTabletPresenter.MyView.class, MainListTabletView.class,
MainListTabletPresenter.MyProxy.class);
bindPresenter(LoginPresenter.class, LoginPresenter.MyView.class,
LoginView.class, LoginPresenter.MyProxy.class);
当我运行应用程序时,有什么想法为什么我会得到以下信息(NullpointerException
关于注释)?我想我有正确的注释LoginPresenter
。
(MainPageEntryPoint.java:83) 2012-08-27 18:43:54,360 [ERROR] e: com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)
at com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:75)
at com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:43)
at com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:82)
at com.google.gwt.user.client.History.fireCurrentHistoryState(History.java:121)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.revealCurrentPlace(PlaceManagerImpl.java:310)
at com.happs.curveapp.client.MainPageEntryPoint.revealCurrentPlace(MainPageEntryPoint.java:114)
at com.happs.curveapp.client.MainPageEntryPoint.onModuleLoad2(MainPageEntryPoint.java:68)
at com.happs.curveapp.client.MainPageEntryPoint$1.execute(MainPageEntryPoint.java:40)
at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:228)
at com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:388)
at com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
at com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
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.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
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.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.google.web.bindery.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:203)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEventFromSource(SimpleEventBus.java:96)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.fireEvent(PlaceManagerImpl.java:146)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.doRevealPlace(PlaceManagerImpl.java:121)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.revealPlace(PlaceManagerImpl.java:339)
at com.happs.curveapp.client.place.ClientPlaceManager.revealDefaultPlace(ClientPlaceManager.java:27)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.onValueChange(PlaceManagerImpl.java:264)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:128)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
... 39 more
Caused by: java.lang.NullPointerException
at com.happs.curveapp.client.view.mobile.LoginView.<init>(LoginView.java:54)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.com$happs$curveapp$client$view$mobile$LoginView_LoginView_methodInjection(MobileGinjectorImpl.java:1749)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.create_Key$type$com$happs$curveapp$client$view$mobile$LoginView$_annotation$$none$$(MobileGinjectorImpl.java:1753)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.get_Key$type$com$happs$curveapp$client$view$mobile$LoginView$_annotation$$none$$(MobileGinjectorImpl.java:1767)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.create_Key$type$com$happs$curveapp$client$presenter$LoginPresenter$MyView$_annotation$$none$$(MobileGinjectorImpl.java:231)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.get_Key$type$com$happs$curveapp$client$presenter$LoginPresenter$MyView$_annotation$$none$$(MobileGinjectorImpl.java:240)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.create_Key$type$com$happs$curveapp$client$presenter$LoginPresenter$_annotation$$none$$(MobileGinjectorImpl.java:299)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.get_Key$type$com$happs$curveapp$client$presenter$LoginPresenter$_annotation$$none$$(MobileGinjectorImpl.java:313)
at com.happs.curveapp.client.gin.MobileGinjectorImpl.access$0(MobileGinjectorImpl.java:311)
at com.happs.curveapp.client.gin.MobileGinjectorImpl$1$1.onSuccess(MobileGinjectorImpl.java:254)
at com.google.gwt.core.client.GWT.runAsync(GWT.java:255)
at com.happs.curveapp.client.gin.MobileGinjectorImpl$1.get(MobileGinjectorImpl.java:252)
at com.gwtplatform.common.client.CodeSplitProvider.get(CodeSplitProvider.java:48)
at com.gwtplatform.mvp.client.proxy.ProxyImpl.getPresenter(ProxyImpl.java:46)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.handleRequest(ProxyPlaceAbstract.java:193)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.access$0(ProxyPlaceAbstract.java:192)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract$1.onPlaceRequest(ProxyPlaceAbstract.java:143)
at com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:134)
at com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
... 52 more