当我的会话在 AJAX 请求之前超时时,我不会被重定向到登录页面,而是收到以下错误消息:
错误:Wicket.Ajax.Call.failure:解析响应时出错:错误:无效 XML
其次是我的登录页面html。最好我想在会话过期后立即重定向到登录页面。但如果这是不可能的,则可以通过某种点击进行重定向。处理这个问题的最佳方法是什么?
当我的会话在 AJAX 请求之前超时时,我不会被重定向到登录页面,而是收到以下错误消息:
错误:Wicket.Ajax.Call.failure:解析响应时出错:错误:无效 XML
其次是我的登录页面html。最好我想在会话过期后立即重定向到登录页面。但如果这是不可能的,则可以通过某种点击进行重定向。处理这个问题的最佳方法是什么?
final Button searchButton = new AjaxButton(buttonId) {
private static final long serialVersionUID = 1L;
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
// TODO Auto-generated method stub
super.updateAjaxAttributes(attributes);
AjaxCallListener ajaxCallListener = new AjaxCallListener() {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public CharSequence getFailureHandler(Component component) {
return "window.location.replace(\"stackoverflow.com\");";
}
};
attributes.getAjaxCallListeners().add(ajaxCallListener);
}}
将此添加到每个 AJAX 组件后,它就可以工作了。一旦 AJAX 调用出现问题,就会进行重定向。在我的情况下,我将它重定向到我的登录页面,因为发生这种情况时用户已经注销。这可能不是最好的方法,但它是我能够解决它的唯一方法。