我有一个 JSP 页面,它有一个按钮,单击此按钮时会执行一个操作,该操作会执行一些数据库更新,并且在成功更新后,用户将导航到另一个带有结束 url 的页面...\resultpage.action
。
当我重新加载导航页面resultpage.jsp
时,再次调用该操作再次更新数据库,这是不可取的。
我希望如果用户重新加载此页面,则应刷新页面并且不应调用任何更新数据库的操作类。
如何实现?另外,如果有任何方法可以在加载页面后更改其 url?
通常情况下,我会创建标准“成功”以外的结果类型,以避免通过页面刷新重新提交表单的情况。可能还有其他方法可以做到这一点,但我发现最简单的方法是结果类型 redirectAction ,它在成功的数据库更新时返回到相同的操作。
如果您使用注释,它看起来像这样:
@Results({
@Result(name = "success", location = "/WEB-INF/content/registration/index.jsp"),
@Result(name = "refresh", type = "redirectAction", location = "register")
})
“刷新”结果将在成功(数据库更新)发布操作时返回,而“成功”用于显示类型操作。