二十五、防止表单重复提交
防止表单重复提交:
有两种方式:
- 利用重定向<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>
?
?
- 原理:
?