我在客户端使用 GWT 和活动和地点。我有一个布局(LeftSide - CenterSide - RightSide),每一面都有自己的 ActivityMapper + Activity + View。
我想将动态视图(有活动)添加到侧面。例如,如果用户的性别是男性,则在左侧显示 AView+APresenter 和 BView+BPresenter;但如果用户的性别是女性,则只显示 BView+BPresenter。
有人可以帮助我如何做到这一点吗?
谢谢
您必须创建一个在需要时ActivityMapper
返回的第四个null
。
当传递一个小部件时,它的显示区域 ( AcceptsOneWidget
) 可能会缩小/消失null
。
有关更多上下文和一些示例代码,请参阅http://blog.ltgt.net/gwt-21-activities-nesting-yagni/。
但是,如果您因用户而异,并在您的应用程序之外进行身份验证(这意味着应用程序加载了一个已知用户,然后它永远不会更改,或者应用程序为其他用户重新加载),那么您可以简单地在启动时决定 ( ) 是否与它的and一起onModuleLoad
创建第四个:
ActivityMapper
ActivityManager
AcceptsOneWidget
if (user.getGender() == Gender.MALE) {
SimplePanel display = new SimplePanel();
parent.add(display);
ActivityManager manager = new ActivityManager(new MaleSpecificActivityMapper(), eventBus);
manager.setDisplay(display);
}