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>

posted @ 2012-08-28 17:01  lanse_yan  阅读(1534)  评论(0编辑  收藏  举报