如何禁用页面刷新或重新加载时重新提交数据
问题描述:
我有一个JSP页面,它有一个按钮,单击此按钮时会执行一些操作,执行某些数据库更新操作,并且在成功更新后,用户将导航到某些另一页结尾的网址...\resultpage.action
。如何禁用页面刷新或重新加载时重新提交数据
当我重新加载导航页面resultpage.jsp
时,会再次调用该操作,该操作会再次更新数据库,这是不可取的。
我希望如果用户重新加载此页面,页面应该刷新,并且不应该调用更新数据库的操作类。
如何实现它?另外如果有什么意思,加载页面后,它的url应该改变?
答
通常我会创建一个除标准“成功”以外的结果类型,以避免通过页面刷新重新提交表单的情况。可能还有其他方法可以做到这一点,但我找到的最简单的方法是结果类型redirectAction,它返回到成功更新数据库时的相同操作。
,如果你使用注解会是这个样子:
@Results({
@Result(name = "success", location = "/WEB-INF/content/registration/index.jsp"),
@Result(name = "refresh", type = "redirectAction", location = "register")
})
“刷新”结果将在成功(数据库更新)后采取行动,而“成功”是用于显示类型的行为被退回。