据测试报告,如果响应渲染不够快,会偶尔出现重复按下按钮的情况,导致多次调用后端代码,这是我们不想看到的。
该应用程序使用Java EE 6 Web Profile,在Glassfish 3.1.1中使用JSF 2.0。
我在思考如何正确处理这个问题,并想到了几种方案:
我应该如何处理这个问题?
该应用程序使用Java EE 6 Web Profile,在Glassfish 3.1.1中使用JSF 2.0。
我在思考如何正确处理这个问题,并想到了几种方案:
- 提交时应使用JavaScript禁用所有按钮,同时等待响应被渲染。
- 在会话范围内设置一个标志表示已经处于活动状态,因此敏感代码将被跳过,直接继续重新呈现以前的提交的响应。
- 使用同步块延迟处理,直到上一个请求完成。然后应检测到它已经被处理并跳过。
- 使用类似转换的“新”作用域来处理检测?
我应该如何处理这个问题?