【问题标题】:How to disable resubmit of data on refresh or reload of the page如何在刷新或重新加载页面时禁用重新提交数据
【发布时间】:2012-07-19 12:15:45
【问题描述】:

我有一个带有按钮的 JSP 页面,单击此按钮时会执行一个操作,该操作会执行一些数据库更新,并且在成功更新后,用户将导航到另一个页面,其结尾 url ...\resultpage.action

当我重新加载导航页面resultpage.jsp 时,再次调用该操作会再次更新数据库,这是不可取的。

我希望如果用户重新加载此页面,则应刷新页面并且不应调用任何更新数据库的操作类。

如何实现?另外,如果有任何方法可以在加载页面后更改其 url?

【问题讨论】:

    标签: jsp url struts2 action


    【解决方案1】:

    为了避免通过页面刷新重新提交表单的情况,我通常会创建标准“成功”以外的结果类型。可能有其他方法可以做到这一点,但我发现最简单的方法是结果类型 redirectAction ,它在成功的数据库更新时返回到相同的操作。

    如果你使用注解,它看起来像这样:

    @Results({
        @Result(name = "success", location = "/WEB-INF/content/registration/index.jsp"),
        @Result(name = "refresh", type = "redirectAction", location = "register")
    })
    

    “刷新”结果将在成功(数据库更新)发布操作时返回,而“成功”用于显示类型操作。

    【讨论】:

      猜你喜欢
      • 2020-12-12
      • 2013-02-11
      • 2016-02-02
      • 1970-01-01
      • 2013-01-31
      • 2016-01-18
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多