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>