大家好我有一些jsp页面和即时通讯使用struts2来处理我的表单。 用户提交表单后,地址栏中显示的网址变为somthing.action,所以当用户刷新页面时,表单会重新提交。我该如何处理?提交表格后。避免重复提交Struts 2 jsp页面
回答
如果目标是防止重复提交表格,则使用token
拦截器http://struts.apache.org/2.x/docs/token-interceptor.html或tokenSession
拦截器http://struts.apache.org/2.x/docs/token-session-interceptor.html。
如果你简单地想要刷新页面后提交没有再次提交然后重定向到行动,你只显示结果不形式。使用redirectAction
的结果。
POST REDIRECT GET
这种模式需要遵循,以防止重新提交表单上刷新。这意味着,在提交POST
请求后,POST
应发送REDIRECT
响应以使用GET
来获取目标页面。使用这种模式,如果用户刷新页面,只有GET请求再次发生,所以同一页面被提取而不更新服务器中的任何内容。
这是一种常见的网页设计模式。 Google会为此提供大量资源。
对其他答案都+1。
Post/Redirect/Get是每种网络技术的经典模式。
Token Interceptor是另一种方式,当你使用Struts2;
如果您不关心与旧浏览器或JavaScript禁用的浏览器的复古兼容性,还有第三种方法:HTML5的window.history.pushState
。
只需在加载页面后将url重置为原始页面,然后按F5将会获得原始页面,而不是重新提交请求。
$(document).ready(function() {
window.history.pushState("","", "myOriginalUrlWithNoParams");
});
对于HTML5技巧+1。 –
- 1. 避免在提交时自动刷新jsp中的页面。
- 2. 如何避免jsp提交后页面自动刷新
- 3. 如何避免在用户刷新jsp页面时重新提交表单
- 4. primefaces忙指标页面重定向,以避免双重提交
- 5. 刷新页面时避免Spring MVC表单重新提交
- 6. PHP - 避免表单提交后重新加载页面
- 7. Django表单提交 - 避免页面重定向
- 8. 避免页面刷新时使用jQuery重新提交表单
- 9. 如何避免在另一个jsp页面重新加载一个jsp页面
- 10. Struts动作重新提交
- 11. 当刷新页面时,避免重新提交数据cakephp页面
- 12. 避免在JSP页面中排序
- 13. Struts 2双表单提交 - 为什么?
- 14. 防止jsp页面上的表单重复提交
- 15. 防止重新提交表单和struts
- 16. 避免双重提交的Form
- 17. 如何避免struts1.1中的双重数据提交
- 18. 避免重复
- 19. 避免重复
- 20. 通过点击两次提交避免在Asp.net MVC中重复表单提交
- 21. 避免窗体重新提交
- 22. 重复前缀错误在Jsp页面和Struts
- 23. 重定向到同一页面后避免表单重新提交php
- 24. struts,包括jsp页面
- 25. 避免重复页眉和页脚
- 26. Struts提供的.tld的JSP页面中的Struts-Taglib指令
- 27. 避免双重表单提交
- 28. scriptaculous样组件避免双重提交
- 29. jquery玩框架避免双重提交
- 30. Git:如何避免重复提交子子... Git -repos?
谢谢Aleksandr M .... – edaklij