二十五、防止表单重复提交
二十五、防止表单重复提交
防止表单重复提交:
有两种方式:
- 利用重定向<result type = "redirect"/>
- 使用拦截器
- 编写jsp页面
<s:form action="regist">
<s:textfield name="name" label="姓名"></s:textfield>
<s:token/>
<s:submit value="保存"/>
</s:form>
- 配置拦截器
<package name="p1" extends="struts-default">
<!--是由一个拦截器来做的:该拦截器不属于defaultStack中的成员 -->
<action name="regist" class="com.itheima.action.RegistAction" method="regist">
<!--Redirect After Post 第一种方式:利用重定向解决表单重复提交问题 -->
<!--
<result type="redirect">/success.jsp</result>
-->
<!--第二种方式: 由于使用这个拦截器,默认拦截器栈会失效,所以加上 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!--token拦截器做的 -->
<interceptor-ref name="token"></interceptor-ref>
<result>/success.jsp</result>
<!-- token拦截器转向的页面 -->
<result name="invalid.token" >/msg.jsp</result>
</action>
</package>
- 原理: