防止表单重复提交

本质是html文件中的hidden属性和session中存放的值进行比较。。。

 

1.xml中配置需要的拦截器

<package 

name="tokenaction" 

namespace="/token" 

extends="struts-default">

<action

 name="TokenAction_*"

 class="com.hstc.token.TokenAction" method="{1}">

<result name="reg">/token/success.jsp</result>

<result

name="invalid.token">/token/success.jsp

</result>

<!-- 实现表单重复提交操作需要token拦截器,

而这个拦截器是默认栈没有的,

所以需要自己配置 -->

<interceptor-ref name="token"/>

<interceptor-ref name="defaultStack"/>

</action>

</package>




2.ui界面上做一下处理

<html>
  <body>
  <!-- 这个可以获取重复提交的错误消息 -->
   	<s:actionerror/>
   	<s:form 
namespace="/token" 
action="TokenAction_reg"
 method="post">
   		<!-- 相当于做个防止重复提交的标记 -->
   		<s:token/>
   		<s:textfield name="name" label="Name"></s:textfield>
   		<s:submit/>
   	</s:form>
  </body>
</html>





你可能感兴趣的:(防止表单重复提交)