令牌会话使用令牌来防止重复的表单提交?

时间:2010-01-26 13:52:04

标签: struts2 token interceptor

我使用令牌会话来防止重复的表单提交,但是第一次向服务器发出请求时,我总是得到错误页面

<action name="show" class="ClientAction">
    <interceptor-ref name="tokenSession" />
    <interceptor-ref name="basicStack" />
    <result name="invalid.token">/WEB-INF/error.jsp</result>
    result type="tiles" name="success">page.view</result>
</action>

"<s:token />"已添加到<s:form></s:form>之间的可能成功页面中,但它无法正常运行。

PLZ帮助我解决它们,还有另一种方法可以防止重复提交表单。我等待建议,非常感谢你。 :)

2 个答案:

答案 0 :(得分:1)

您似乎没有使用正确的拦截器名称。如果要使用会话令牌,则为令牌会话。

尝试使用token-session而不是tokenSession。

希望有所帮助。

答案 1 :(得分:0)

必须将

标记<s:token />插入到双重提交的表单中,而不是插入到成功表单中。如果缺少令牌标记,拦截器将提交的请求解析为无效,即使它是第一次尝试。