java - 在 Extjs 中,在 Grid 中更新时,如果 session 超时如何重定向到登录页面?

标签 java hibernate spring extjs

如何在更新网格中的值并重定向到登录页面时识别 session 超时问题。

我的应用程序(带有 extjs 的 java spring hibernate)

即我正在更新 extjs grid 记录,并在提交更改时,如果 session 过期,我需要识别该特定异常并重定向到登录页面。

我正在使用

//    var proxy = new Ext.data.HttpProxy({
var store = new Ext.data.Store({
    proxy: proxy,
    reader: new Ext.data.JsonReader({})
});

提前致谢

最佳答案

没有足够的信息来编写确切的代码,但您想要执行以下操作:

  1. 确保您的网络服务在商店的 DataProxy 或 DataReader 实现识别为失败的超时时返回响应。发送适当的 HTTP 响应代码(例如 515 之类的唯一代码),或者将响应的 successProperty 设置为 false。如果您选择后者,则需要确保响应中也返回某种类型的错误代码,您可以检测到该错误代码以了解失败的原因。
  2. 在您的 Javascript 中,为您的商店添加“异常”事件的监听器。在监听器中执行 console.log(arguments) 以查看参数的样子;其中之一是原始 HTTP 响应,我相信另一个是 JSON 解码的响应数据(如果不是,您应该能够通过阅读器的 jsonData 属性检索它)。如果您的Web服务发送HTTP响应代码,请检查response.statusCode;如果它在 JSON 数据中,请检查那里。
  3. 在异常监听器中成功检测到 session 过期错误后,请添加代码以在遇到此情况时将 window.location.href 设置到登录页面。

关于java - 在 Extjs 中,在 Grid 中更新时,如果 session 超时如何重定向到登录页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052534/

相关文章:

java - 从 HTTP GET 请求参数生成搜索 SQL

java - 在 HQL NOT IN 子句中指定列表参数

mysql - Tomcat、Spring、Hibernate 应用程序 - 用户报告 session 混淆

java - 如何在运行时在 Spring Boot 上运行 CUSTOM DDL DML ...,而不强制 Hibernate

java - Liferay - PreLoginAction - 阻止用户登录

java - 为相同的输入生成不同的 java C# HMAC

java - 如何在 Spring 属性中进行算术运算?

spring - 使用 CallableStatementCreator 和 CallableStatementCallback 时如何关闭 CallableStatement

java - 简单java代码的时间复杂度

java - java中的通用csv解析器