Grails - 对每个请求执行检查
Grails - execute check on every request
我正在寻找一种简洁的方法来执行检查以查看 Grails 2.x 应用程序的收件箱(实时)中是否有任何消息。
我已经从通过 ajax 的轮询转移到 websockets,这在有人实际向您发送消息时非常好,但是当您切换到另一个屏幕时,“计数”仍然需要初始化。
任何人都可以建议一种优雅的方式吗?
- 拦截器 并不理想,因为我需要检查几乎所有控制器
- 过滤器 并不理想,因为在某些带有图表的屏幕上有许多 ajax 请求,每个请求的检查将 运行 多次。
我想知道是否还有其他我没有想到的解决方案..但可能没有。
一个过滤器,如果请求 header 表明 Ajax 请求可以工作,则忽略检查。
根据您需要此 "count" 的位置,您可以: 在您的布局中(例如 main.gsp)调用使用服务获取计数的标记库。这样它只适用于应用布局的 GSP(例如,不是任何 ajax 请求)。
我正在寻找一种简洁的方法来执行检查以查看 Grails 2.x 应用程序的收件箱(实时)中是否有任何消息。 我已经从通过 ajax 的轮询转移到 websockets,这在有人实际向您发送消息时非常好,但是当您切换到另一个屏幕时,“计数”仍然需要初始化。 任何人都可以建议一种优雅的方式吗?
- 拦截器 并不理想,因为我需要检查几乎所有控制器
- 过滤器 并不理想,因为在某些带有图表的屏幕上有许多 ajax 请求,每个请求的检查将 运行 多次。
我想知道是否还有其他我没有想到的解决方案..但可能没有。
一个过滤器,如果请求 header 表明 Ajax 请求可以工作,则忽略检查。
根据您需要此 "count" 的位置,您可以: 在您的布局中(例如 main.gsp)调用使用服务获取计数的标记库。这样它只适用于应用布局的 GSP(例如,不是任何 ajax 请求)。