Struts2防刷新重复提交表单设置
转自csdn http://blog.csdn.net/baggio7095586/article/details/7605743
设置分为两步:
1. 修改Struts.xml配置(以名称为searchAction为例)
<action name="searchAction" class="MailLogAction" method="execute">
<result>/pages/MainPage.jsp</result>
</action>
对于以上的action,未加入防刷新机制时,按F5会重复提交表单。
对于以下修改后:
<action name="searchAction" class="MailLogAction" method="execute">
<result>/pages/MainPage.jsp</result>
<result name="invalid.token" type="freemarker">/pages/MainPage.jsp
</result>
<interceptor-ref name="defaultStack">
<param name="workflow.excludeMethods">default</param>
</interceptor-ref>
<interceptor-ref name="tokenSession">
<param name="excludeMethods">default</param>
</interceptor-ref>
</action>加入红色部分即可。
<result name="invalid.token" type="freemarker">/pages/MainPage.jsp
</result>
此部分设置表单重复提交时指向的页面。
<interceptor-ref name="defaultStack">
<param name="workflow.excludeMethods">default</param>
</interceptor-ref>
<interceptor-ref name="tokenSession">
<param name="excludeMethods">default</param>
</interceptor-ref>
此部分设置拦截器。
2. 修改jsp页面
找到对应的action的页面,在表单下新增<s:token></s:token>
如下:
<s:form name="SearchLog" method="post" action="searchAction">
<!-- 防止刷新重复提交 -->
<s:token></s:token>