struts2防重复提交,使用很简单,只需要在struts.xml文件的ACTION中配置一个interceptor就行了,struts提供了二种token,分别是token与tokenSession
<package name="usermoudle" extends="struts-default">
<action name="user" class="com.gsmfan.struts2.action.UserAction">
<!-- 配置tokenSession,就不需要配置重复提交重定向页
<result name="invalid.token">/error.jsp</result>
无论是否重复提交都会跳转到指定的页面,但是只会提交一次
-->
<interceptor-ref name="tokenSession"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/success.jsp</result>
</action>
</package>
<package name="usermoudle" extends="struts-default">
<action name="user" class="com.gsmfan.struts2.action.UserAction">
<!-- 配置token,重复提交会跳转到invalid.token指定的页面-->
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/success.jsp</result>
<result name="invalid.token">/error.jsp</result>
</action>
以上二种方式可选一种。
另外还需要在表单中添加<s:token/>
<s:form action="login" method="post" theme="simple">
<s:token></s:token>
<s:submit value="ADD"></s:submit>
</s:form>