JSF2Ajax按钮不会在会话超时后进行服务器调用
我的应用程序正在使用 用户登录后,将从请求头检索其登录用户ID,角色由LDAP查找确定。然后这个角色被JSF2应用程序用来显示页面上的某些部分和其他授权相关的区域 (注意:也可以使用Tivoli代替RSA) 应用程序超时由web.xml会话超时值控制,该值当前设置为30分钟。RSA超时设置为2分钟(用于测试)。当RSA会话在应用程序会话之前过期,并且用户执行了任何服务器操作(如单击按钮)时,RSA会自动将用户转发回登录页面。 它工作得很好 在我使用以下f:ajax标记将ajax功能添加到应用程序中的一些按钮之后JSF2Ajax按钮不会在会话超时后进行服务器调用,ajax,jsf-2,Ajax,Jsf 2,我的应用程序正在使用 用户登录后,将从请求头检索其登录用户ID,角色由LDAP查找确定。然后这个角色被JSF2应用程序用来显示页面上的某些部分和其他授权相关的区域 (注意:也可以使用Tivoli代替RSA) 应用程序超时由web.xml会话超时值控制,该值当前设置为30分钟。RSA超时设置为2分钟(用于测试)。当RSA会话在应用程序会话之前过期,并且用户执行了任何服务器操作(如单击按钮)时,RSA会自动将用户转发回登录页面。 它工作得很好 在我使用以下f:ajax标记将ajax功能添加到应用程序
将提供任何帮助。这是因为视图不再存在,服务器无法在服务器上重新创建视图以执行ajax,您可以尝试以下操作:
var onError = function onError() {
window.location = 'http://domain.com/loginPage.jsf';
};
jsf.ajax.addOnError(onError);
很抱歉回复太晚,但我当时确实按照你的建议做了同样的事情。这很有效。谢谢你的回复。快速提问。你必须把这个放在所有ajax调用上,还是可以以某种方式放在全局范围内?你只需要在页面中包含一次,ajax引擎就会调用为每个可能的er定义的onError函数罗。