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