二十五、防止表单重复提交

二十五、防止表单重复提交

防止表单重复提交:

有两种方式:

  1. 利用重定向<result type = "redirect"/>
  2. 使用拦截器
  1. 编写jsp页面

    <s:form action="regist">

            <s:textfield name="name" label="姓名"></s:textfield>

            <s:token/>

            <s:submit value="保存"/>

    </s:form>

     

  2. 配置拦截器

    <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>

     

     

  3. 原理:

     

posted @ 2016-09-19 21:18  runningto  阅读(268)  评论(0编辑  收藏  举报