所以我正在做这样的事情:
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/