我正在使用 Struts2 框架,我的问题是
如果用户登录到系统并点击了一些动作让我们说ACTION1
,流程将进入动作类并执行一些方法,返回适当的结果。他可能会访问一些网页,然后再次单击ACTION1
。
只要他在同一个会话中,现在控件不应该采用那个特定的方法,但结果应该与以前的结果相同。
我们怎样才能做到这一点?
我正在使用 Struts2 框架,我的问题是
如果用户登录到系统并点击了一些动作让我们说ACTION1
,流程将进入动作类并执行一些方法,返回适当的结果。他可能会访问一些网页,然后再次单击ACTION1
。
只要他在同一个会话中,现在控件不应该采用那个特定的方法,但结果应该与以前的结果相同。
我们怎样才能做到这一点?
你可以试试tokenSession
拦截器。
这个拦截器建立在
token
拦截器之上,提供了处理无效令牌的高级逻辑。与普通令牌拦截器不同,此拦截器将尝试在使用同一会话的多个请求的情况下提供智能故障转移。也就是说,它将阻止后续请求,直到第一个请求完成,然后invalid.token
它不会返回代码,而是尝试显示与原始有效操作调用相同的响应,如果在第一个请求中没有提交多个请求,则会显示相同的响应。地方。
它将防止重复提交相同的操作或重复使用您提供的相同标记s:token
tag。
描述
停止重复提交表格。
令牌标签用于帮助解决“双击”提交问题。如果您使用
TokenInterceptor
或 ,则需要它TokenSessionInterceptor
。该s:token
标签仅放置一个包含唯一标记的隐藏元素。
将标签放在您的表单中,您将永远不会再次提交相同的表单两次。令牌会话拦截器将尝试通过返回与第一种情况相同的响应来为您处理无效令牌。