【问题标题】:GWTP how to execute code on application initialization/startGWTP 如何在应用程序初始化/启动时执行代码
【发布时间】:2016-03-11 11:15:17
【问题描述】:

我想在应用程序启动时对服务器执行异步调用(已加载到用户浏览器中)。

为了与服务器通信,我使用了 RestyGWT。

在应用程序启动时,我想调用服务器来检查用户是否已登录(他的 cookie/令牌是否仍然有效)? 如果令牌仍然有效,我想将用户重定向到登录用户的页面。如果没有,我想重定向到login 页面

我也想为内部客户端应用程序网址工作,例如:http://localhost:8080/cms/#/admin。当我从应用程序内部输入此网址时,它可以工作。当我输入此网址时,它会将我重定向到默认页面。

请帮忙。

这是我的服务执行代码:

service.isCurrentUserLoggedIn(new MethodCallback<Boolean>() {
    @Override
    public void onFailure(Method method, Throwable exception) {
    MaterialToast.fireToast("Fail to check is current user logged in " + method + " " + exception.getLocalizedMessage());
    }

    @Override
    public void onSuccess(Method method, Boolean response) {
    currentUser.setLoggedIn(response);
    getView().setLoginButtonVisbility(response);
    }
});

我在类构造函数的 AppPresenter 中完成了这个,但我认为这是错误的。

【问题讨论】:

    标签: gwtp gwt-platform gwt-places


    【解决方案1】:

    我认为如果你离开构造函数并进入 onBind() 方法就足够了。虽然我假设这是在根演示者中显示的您的演示者,而您的其他演示者在根演示者插槽中显示。

    【讨论】:

      【解决方案2】:

      解决方案是创建自己的实现com.gwtplatform.mvp.client.BootstrapperBootstrapper

      在这个类中实现方法void onBootstrap() 我执行service.isCurrentUserLoggedIn(new MethodCallback&lt;Boolean&gt;() {}) 然后根据回答结果,重定向到登录或当前位置。

      Here is official documentation.

      【讨论】:

        猜你喜欢
        • 2011-11-17
        • 1970-01-01
        • 2012-07-13
        • 2019-09-25
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多