Luc*_*ier 5 java browser servlets back-button form-submit
我在这里有点微妙的情况.在我的组织中,我们设计库存管理系统,它是一个基于JSP页面和servlet的Web应用程序,用于处理它们.
我被要求解决一个具体问题.我们有一个带有HTML表单的JSP页面,其中有库存详细信息.当用户手动输入详细信息并提交表单时,库存详细信息在数据库中更新,并且工作正常.
问题是这样的:当用户按下浏览器的后退按钮时,用户可以转到他提交详细信息的上一页.当用户提交此数据时,数据会再次保存到数据库中.我需要防止这种行为.(清楚并重新加载页面的东西.)
到目前为止我做的事情:清除浏览器缓存.Code工作正常但不是预期的结果.
遗憾的是,由于公司规定,我无法分享代码.我需要的是帮助防止这种行为或解决方法.
提前致谢..
您可以在隐藏属性的帮助下使用javascript函数来重新加载网页。当用户按下后退按钮时,基于隐藏属性的值,将重新加载页面,而不加载缓存的页面。
您清除缓存的方法是正确的。加上这一点,您可以使用这种方法。
<input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
onload=function(){
var e=document.getElementById("refreshed");
if(e.value=="no")e.value="yes";
else{e.value="no";location.reload();}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这种方法的一个缺点是,如果您的客户的浏览器禁用了JS,它将无法正常运行,否则它将正常运行。
| 归档时间: |
|
| 查看次数: |
4826 次 |
| 最近记录: |