java - GWT:如何从 Activity 启动方法中转到新位置?

标签 java gwt

所以我正在做这样的事情:

public class SecureActivity extends AbstractActivity {
  public void start(AcceptsOneWidget container, EventBus eventBus) {    
    if (!_app.isUserLoggedIn()) {
      _app.goTo(new LoginPlace(_app.getCurrentPlaceToken()))
    } else {
      // do cool secure stuff
    }
  }
}

但我看到的行为是我的浏览器的历史记录是针对原始 url(来自原始请求),然后是 login:redirectPlace,然后再次是原始 url。

看来我需要在 start() 方法完成后进行重定向。是否有适当的方法来延迟/委托(delegate) goTo 在 start 方法之外发生?

谢谢。

最佳答案

这应该足够了:

Scheduler.get().scheduleFinally(new ScheduledCommand() {
   @Override
   public void execute() {
      _app.goTo(new LoginPlace(_app.getCurrentPlaceToken());
   }
}

关于java - GWT:如何从 Activity 启动方法中转到新位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003229/

相关文章:

gwt - 如何在包含小部件的 gwt Grid 单元格上设置 rowspan 和 colspan 值?

css - 将 CSS 添加到 GWT 小部件

Java - 注释引用本身有什么作用?

Java 并发可见性

java - 如何在 Android 中使用 FFMPEG 减小默认摄像头捕获的视频大小?

java - 如何将图像变成黑白?

Java 比较数组中的元素

java - HTTP SOAP 负载编码

java - 从 gwt 返回值到 javascript-jsni

css - 如何更改 GWT 单元格表中的特定列样式