GWTP - 我是否正确地将它用于安全和不安全的区域?

时间:2016-02-28 13:49:28

标签: gwt gwtp

我正在尝试使用已有的应用程序转换到GWTP。但是,我遇到了一些麻烦,想知道如何为它设置一个安全区域和一个不安全的区域。

案例很简单:我的目标网页和管理页面都有完全不同的骨架(菜单,侧面导航,主要内容等)。

为了简化,这些是我当前的模块实现:

enter image description here

我在ApplicationView UiBinder中实际拥有的是:

             

这是ApplicationView的公共静态UI字段:

public static @UiField SimplePanel mainContentWrapper;

我现在所做的是设置两位演示者onReveal()AdminToolPresenter的{​​{1}}方法内的实际内容,如下所示:

LangingPresenter

@Inject
AdminToolPresenter(EventBus eventBus, MyView view, MyProxy proxy) {
    super(eventBus, view, proxy, ApplicationPresenter.SLOT_AdminMainContent);
}

@Override
protected void onReveal() {
    super.onReveal();
    ApplicationView.mainContentWrapper.setWidget(this.getView());
}

请注意我如何分别绑定@Inject LandingPresenter(EventBus eventBus, MyView view, MyProxy proxy) { super(eventBus, view, proxy, ApplicationPresenter.SLOT_LandingMainContent); } @Override protected void onReveal() { super.onReveal(); ApplicationView.mainContentWrapper.setWidget(this.getView()); } ApplicationPresenter.SLOT_AdminMainContent

由于GWTP实际上是一个非常聪明的工具,我想确保我正确使用它。

因此,我想知道我是否按预期方式执行此操作,或者GWTP是否真的为此问题提供了更智能的解决方案?

这个问题尤其突出,因为我不确定导航是如何实际处理的。

1 个答案:

答案 0 :(得分:0)

您无需在ApplicationView.mainContentWrapper.setWidget(this.getView())方法中拨打onReveal GWTP应该通过bindSlot(ApplicationPresenter.SLOT_LandingMainContent, mainContentWrapper)构建器中的ApplicationView或覆盖setInSlot中的addToSlotApplicationView方法来处理此问题。 (见SLOTS documentation

您还需要使用Gatekeeper来保护AdminToolPresenter