0

你能告诉我成功登录GWT后如何重定向到下一页吗?我已经创建了服务接口及其实现,但不知道如何在登录身份验证后重定向页面。分享你的观点。并告诉我如何获取 sessiontimeout 然后自动重定向到 gwt 中的登录页面。

谢谢

4

1 回答 1

0

可以Window.Location.replace(String newURL)用来切换页面。

至于会话超时,这取决于您使用的是哪种会话管理。

最简单的方法是在您进行的每个 RPC 调用中包含“会话已过期”信息,例如自定义异常:

服务器

public String myRpcCall() throws SessionExpiredException {
  if(!SessionManager.isSessionValid()) { // depends on your session management
     throw new SessionExpiredException;
  }
  return some_stuff(); // whatever you want to do
}

客户

public doCall() {
   AsyncCallback<String> cb = new AsyncCallback<String>() {
      @Override
      public void onFailure(Throwable caught) {
         if(caught instanceof SessionExpiredException) {
            // inform the user and redirect to login page
            Window.Location.replace("login.html");
         }
         // handle other errors
      }
      // TODO onSuccess(String)
   };
   service.myRpcCall(cb);  // your rpc call goes here
}
于 2013-04-23T11:32:49.217 回答