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